如何在使用sql

时间:2015-07-23 10:25:57

标签: sql sql-server

如何在使用sql

中的触发器更新表后获取值

2 个答案:

答案 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

希望它有所帮助。