SQL output子句的用法

以上是表soloreztest的原始内容使用output子句对其进行操作

A. 将 OUTPUT INTO 用于简单 INSERT 语句

   以下示例将行插入soloreztest表,并使用 OUTPUT 子句将语句的结果返回到 @mytable table 变量中
 declare @mytable table
(
  id int identity(1,1) primary key,
  name varchar(50)
)
 insert into soloreztest output inserted.name into @mytable values('147')
select * from soloreztest
select * from @mytable

结果是:
 

  output    into子句是将向soloreztest表里面的数据同步的插入的@mytable的表变量里面
  output 子句则只是用于显示被改变的数据INSERTED 或 DELETED 前缀
  inserted 前缀:用于检索新插入表中或是更新后的数据的数据 可用与insert和update语句中不能在delete语句中出现
  deleted 前缀: 用于检索被删除或是更新前的数据 可用与delete和update语句中不能在insert 语句中出现

 B. 将 OUTPUT 用于 DELETE 语句
   以下实例是将在表中soloreztest删除行是放回被删除行的信息
     delete soloreztest  output deleted.* where id=2
  

 

 同理以上也可使用会 output into语句将被删除的信息插入到一个新表中


 C. 将 OUTPUT  用于 UPDATE
 以下实例将在表中更新数据是使用output 返回修改前的数据和修改后的数据
update soloreztest   set name='zz' output  inserted.name,deleted.name where id=3
 
inserted.name:表示的是在 soloreztest表中更新后的数据内容。
deleted.name :表示的是在soloreztest表中的更新前的数据内容。

转载于:https://www.cnblogs.com/zzandlx/archive/2009/07/17/1525296.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值