我一直在寻找这个问题,但其中出现的线索往往会从不理解这个问题的人那里得到答案.
采用以下语法:
SET IDENTITY_INSERT Table1 ON
你是如何做到这一点的:
GET IDENTITY_INSERT Table1
我不想对数据库中的数据或设置做任何事情来获取这些信息.谢谢
我一直在寻找这个问题,但其中出现的线索往往会从不理解这个问题的人那里得到答案.
采用以下语法:
SET IDENTITY_INSERT Table1 ON
你是如何做到这一点的:
GET IDENTITY_INSERT Table1
我不想对数据库中的数据或设置做任何事情来获取这些信息.谢谢
由于SET IDENTITY_INSERT
是会话敏感的,所以它在缓冲区级别进行管理,而不存储在任何地方.这意味着我们不需要判断IDENTITY_INSERT
状态,因为我们在当前会话中从不使用这个关键字.
抱歉,没有帮助.
问得好:)
资料来源:Here
Update
if
(select max(id) from MyTable) < (select max(id) from inserted)
--Then you may be inserting a record normally
BEGIN
set @I = 1 --SQL wants something to happen in the "IF" side of an IF/ELSE
END
ELSE --You definitely have IDENTITY_INSERT on. Done as ELSE instead of the other way around so that if there is no inserted table, it will run anyway
BEGIN
.... Code that shouldn't run with IDENTITY_INSERT on
END