执行了这个存储过程之后出现了一堆错误,表创建成功了,但是索引什么的都没加上,这是怎么回事?? use [ yxcomments ] go declare @return_value int exec @return_value = [ dbo ] . [ procaddcomment ] @parentid = 0 , @sourceid = 1 , @nickname = n '
执行了这个存储过程之后出现了一堆错误,表创建成功了,但是索引什么的都没加上,这是怎么回事??
use [yxcomments]godeclare @return_value intexec @return_value = [dbo].[procaddcomment] @parentid = 0, @sourceid = 1, @nickname = n'afasf', @content = n'sdfasdfsdf', @ip = n'127.0.0.1', @city = n'南阳', @befiltered = 0, @enable = 1, @key = n'soft'select 'return value' = @return_value
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
'go' 附近有语法错误。
(1 行受影响)
消息 515,级别 16,状态 2,第 1 行
不能将值 null 插入列 'cai',表 'yxcomments.dbo.comments_soft1';列不允许有 null 值。insert 失败。
语句已终止。
(1 行受影响)
/****** script for selecttopnrows command from ssms ******/alter proc [dbo].[procaddcomment](@parentid int,@sourceid int,@nickname nvarchar(20),@content nvarchar(300),@ip nvarchar(30),@city nvarchar(30),@befiltered bit,@enable bit,@key nvarchar(50))asbegin declare @tablename nvarchar(80); declare @tablearea int; declare @mod int; declare @size int; set @size = 100000; set @mod = @sourceid % @size; if @mod > 0 set @tablearea = cast(@sourceid / @size as int) + 1; else set @tablearea = cast(@sourceid / @size as int); set @tablename = 'comments_' + @key + cast(@tablearea as nvarchar(10)); if not exists(select * from [commentstables] where [key]=@key and [tablename]=@tablename) begin declare @createsql nvarchar(max); set @createsql = 'create table [dbo].['+@tablename+']( [id] [int] identity(1,1) not null, [parentid] [int] not null, [sourceid] [int] not null, [nickname] [nvarchar](20) not null, [content] [nvarchar](300) not null, [datetime] [datetime] not null, [ip] [nvarchar](30) not null, [city] [nvarchar](30) not null, [befiltered] [bit] not null, [enable] [bit] not null, [lou] [int] not null, [ding] [int] not null, [cai] [int] not null, constraint [pk_'+@tablename+'] primary key clustered ( [id] asc )with (pad_index = off, statistics_norecompute = off, ignore_dup_key = off, allow_row_locks = on, allow_page_locks = on) on [primary] ) on [primary]' exec(@createsql); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_parentid] default ((0)) for [parentid] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_datetime] default (getdate()) for [datetime] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_befiltered] default ((0)) for [befiltered] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_enable] default ((0)) for [enable] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_lou] default ((1)) for [lou] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_ding] default ((0)) for [ding] go '); exec('alter table [dbo].['+@tablename+'] add constraint [df_'+@tablename+'_cai] default ((0)) for [cai] go '); insert into [commentstables]([key],[tablename]) values(@key,@tablename); end set @nickname = replace(@nickname,'''',''''''); set @content = replace(@content,'''',''''''); set @ip = replace(@ip,'''',''''''); set @city = replace(@city,'''',''''''); exec('insert into dbo.['+@tablename+'](parentid,sourceid,nickname,content,ip,city,befiltered,[enable]) values ('+@parentid+','+@sourceid+','''+@nickname+''','''+@content+''','''+@ip+''','''+@city+''','+@befiltered+','+@enable+');')end go