我有 PK,它是自增 key 。我需要将记录插入数据库,然后取回 PK 并在另一个插入中使用它。
但是我想在一笔交易中完成此操作。那可能吗。这个想法是,如果我必须做的任何更新/插入中出现问题,那么我可以回滚所有内容,但我的印象是我需要进行提交。
我一开始打算在 ado.net 中执行此操作,但后来切换到存储过程,因为我认为这可能会解决这个问题。
在这种情况下,SP 会帮助我吗?
最佳答案
是的,scope_identity 将为您提供最新插入的 ID。作为替代方案,如果您使用的是 sql server 2005+,则可以使用 output clause .
INSERT INTO [MyTable]([MyCol])
OUTPUT INSERTED.ID
SELECT [MyCol] FROM [MySourceTable];
关于sql - SCOPE_IDENTITY 在这种情况下会起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827496/