当前位置: 代码迷 >> ASP.NET >> 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。该如何解决
  详细解决方案

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。该如何解决

热度:10562   发布时间:2013-02-25 00:00:00.0
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Customer' 中的标识列插入显式值。
我所有的操作都在VS里完成,存储过程里有写这么一句
C# code
Insert Customer(Name,Sex,Password,Truename,Phonecode,Email,City,Address,Postcode,CustomerID)    values(@Name,@Sex,@Password,@Truename,@Phonecode,@Email,@City,@Address,@Postcode,@CustomerID)    select     @CustomerID=@@identity

然后查到IDENTITY_INSERT的默认值是OFF的。怎么设置?我参考的网上一个项目也没有看到它在哪里有设置这个的。求帮助

------解决方案--------------------------------------------------------
set IDENTITY_INSERT 存储过程名 on
------解决方案--------------------------------------------------------
SET IDENTITY_INSERT Customer ON
表名
------解决方案--------------------------------------------------------
CREATE TABLE #test(
id int IDENTITY(1,1) NOT NULL,
orderInfo varchar(1000) NULL)

---- 执行如下sql将报错
insert into #test values(1,'1')

---- 执行如下3行sql将不报错
set identity_insert #test on 
insert into #test(id, orderInfo) values(1,'1')
set identity_insert #test off

select*From #test

drop table #test
  相关解决方案