我有 PK 是自增密钥。我需要将记录插入数据库,然后取回 PK 并在另一个插入中使用它。
但是我想在一笔交易中完成此操作。那可能吗。这个想法是,如果我必须做的任何更新/插入中出现问题,那么我可以回滚所有内容,但我的印象是我需要进行提交。
我一开始打算在 ado.net 中执行此操作,但后来切换到存储过程,因为我认为这也许可以解决这个问题。
在这种情况下,SP 会帮助我吗?
是的,scope_identity 将为您提供最新插入的 id。作为替代方案,如果您使用的是 sql server 2005+,则可以使用输出子句 http://blogs.msdn.com/b/sqltips/archive/2005/06/13/output-clause.aspx.
INSERT INTO [MyTable]([MyCol])
OUTPUT INSERTED.ID
SELECT [MyCol] FROM [MySourceTable];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)