如何在使用sql
中的触发器更新表后获取值答案 0 :(得分:1)
有这样的场景:
CREATE TABLE #tmp (id INT, txt VARCHAR(10))
INSERT INTO #tmp ( id, txt )
VALUES ( 1, 'abc')
您可以在UPDATE期间使用OUTPUT(https://msdn.microsoft.com/en-us/library/ms177564.aspx)返回值,如下所示:
UPDATE #tmp SET
txt = 'xyz'
OUTPUT INSERTED.id, INSERTED.txt
您可以从表中返回任何列 - INSERTED将包含新数据,而DELETED将包含以前的数据。
答案 1 :(得分:0)
在自我更新SQL中,您可以使用OUTPUT。
在MS SQL服务器上的触发器中,有一些名为INSERED和DELETED的临时表,请访问她以获取更多信息:https://msdn.microsoft.com/en-us/library/ms191300.aspx
希望它有所帮助。