您的位置:首页 > 其它

SET IDENTITY_INSERT 选项使用

2016-07-08 16:25 381 查看
参考链接:https://msdn.microsoft.com/en-us/library/ms188059.aspx

当我们往一个带有identity列的表中插入行时,会报错:

Msg 544,Level 16, State 1,Line 8

Cannot insert explict value for identity column in table XXX when IDENTITY_INSERT is set to OFF.

这个时候,SET IDENTITY_INSERT选项就出场啦!下面就来介绍一下。

SET IDENTITY_INSERT:

允许将显示值插入到表的标识列中

语法:

SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }

注意:

同一个session中任何时候只能有一张表设置了IDENTITY_INSERT选项为ON。如果某张表已经开启了该选项,再去为另一张表开启该选项则会报错。

举例:

create table #test1
(
id int identity(1,1)
)

set identity_insert #test1 on

insert into #test1
(id)
select 258 as id

set identity_insert #test1 off

select * from #test1


<完>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: