这里有一个很好的答案:https://stackoverflow.com/a/1610530/630169 但是,如果更新的表具有不起作用的触发器,则SQL Server会产生错误:如果语句包含不带INTO子句的OUTPUT子句,则DML语句的目标表'my_table'不能具有任何已启用的触发器。如果表有触发器该怎么办?
答案 0 :(得分:0)
找到答案,需要使用文档中提到的INTO选项:http://msdn.microsoft.com/en-us/library/ms177564.aspx,例如:
DECLARE @MyTableVar TABLE
(
id INT
);
UPDATE my_table
SET column = value
OUTPUT INSERTED.primaryId INTO @MyTableVar
WHERE idColumn = idValue;
SELECT * FROM @MyTableVar