加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SET IDENTITY_INSERT的范围是多少?

发布时间:2020-12-12 08:42:58 所属栏目:MsSql教程 来源:网络整理
导读:SET IDENTITY_INSERT的范围是多少? 如果我在某个表的一个存储过程中使用它,如果不同的用户运行不同的过程会在同一时间插入到该表中会怎么样? 另外,如果不同的用户/程序尝试设置SET IDENTITY_INSERT xyz,会发生什么 同时为不同的桌子? 解决方法 这是一个会
SET IDENTITY_INSERT的范围是多少?

如果我在某个表的一个存储过程中使用它,如果不同的用户运行不同的过程会在同一时间插入到该表中会怎么样?

另外,如果不同的用户/程序尝试设置SET IDENTITY_INSERT xyz,会发生什么
同时为不同的桌子?

解决方法

这是一个会话选项,一个表只能为任何一个表选择一个表,但是多个不同的会话可以在同一个表上使用它(不知道这永远是个好主意!

当子批次完成(设置此选项)时,它看起来像为连接自动取消设置.

CREATE TABLE Tst
(C INT IDENTITY(1,1))

EXEC('SET IDENTITY_INSERT Tst ON')
INSERT INTO Tst(C) VALUES (1) /*Fails - Complains IDENTITY_INSERT is off*/

SET IDENTITY_INSERT Tst ON
EXEC('INSERT INTO Tst(C) VALUES (1)') /*Succeeds this way round*/
SET IDENTITY_INSERT Tst OFF

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读