OUTPUT 在insnert delete update 的神奇功效

时间:2023-03-09 19:46:39
OUTPUT 在insnert delete update 的神奇功效

Inserted   deleted  个人理解 应该是两个 临时表   分别存储 变动后的数据集  和  变动前的数据集

使用例子:

1.对于INSERT,可以引用inserted表以查询新行的属性.

   insert into [表名] (a) OUTPUT Inserted.a values ('a')     

2.对于DELETE,可以引用deleted表以查询旧行的属性.

   delete [表名] OUTPUT deleted.a where links = 'a'

3.对于UPDATE,使用deleted表查询被更新行在更改前的属性,用inserted表标识被更新行在更改后的值.

   update [表名] set a = 'b' OUTPUT Inserted.a where a = 'a'(返回修改后的值)

   update [表名] set a = 'b' OUTPUT deleted.a where a = 'a' (返回修改前的值)

文章来源:http://lin358.iteye.com/blog/1928121