SQL 语句中output参数的使用 很实用!

  • 返回插入的数据: output inserted.列
insert into T_Test(Province,City) output inserted.Province, inserted.City values('广东''深圳')
  • 返回删除的数据: output deleted.列
delete from T_Test output deleted.* where id = 2 (返回删除数据所有列)
  • 返回更新前后的数据(前两个的结合): output deleted.列(更新前), output inserted.列(更新后)
update T_Test set Province = '湖南', City = '郴州' output '(更新前)' + deleted.Province + deleted.City as [更新前], '(更新后)' + inserted.Province + inserted.City as [更新后] where id = 2

例图

  • 还可以将返回的结果保存在表变量中,这在删除数据,并把删除的数据插入到历史表时很实用
DECLARE @tempTable TABLE(
    id int,
    Province varchar(50),
    City varchar(50)
)
DELETE FROM TestTB OUTPUT deleted.* INTO @tempTable WHERE id > 4

SELECT  * FROM @tempTable



参考:http://www.cnblogs.com/liuxinhuahao/p/3928052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值