MSSQL中exec的sql字符串执行的用法问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:25:43
我的程序如下:
declare @a varchar(20)
set @a='table_1'
execute('SET IDENTITY_insert '+ @a + ' on')
insert into table_1(id,name) select * from table_2

执行结果告诉我
-----------------------------------------------------------------
服务器: 消息 544,级别 16,状态 1,行 8
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'aaaaa' 中的标识列插入显式值。

我的环境:新人员表 中的id字段是identity属性的,旧的里面的id不是连续的,所以必须将新表中的identity属性设置成可以插入显式值,但用exec的方法不知道为什么不可行,请高手解释。

MSSQL中exec的sql字符串执行的用法问题
悬赏分:10 - 离问题结束还有 8 天 22 小时
我的程序如下:
declare @a varchar(20)
set @a='table_1'
execute('SET IDENTITY_insert '+ @a + ' on')
insert into table_1(id,name) select * from table_2

执行结果告诉我
-----------------------------------------------------------------
服务器: 消息 544,级别 16,状态 1,行 8
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'aaaaa' 中的标识列插入显式值。

我的环境:新人员表 中的id字段是identity属性的,旧的里面的id不是连续的,所以必须将新表中的identity属性设置成可以插入显式值,但用exec的方法不知道为什么不可行,请高手解释。
提问者:iangin_6789 - 试用期 一级

你的ID列是标识吧,不可以加的哦