码迷,mamicode.com
首页 > 数据库 > 详细

sql server output用法说明

时间:2015-09-15 12:38:28      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

带有output的insert语句.

@@identity只能返回当前会话最后生产的标识列.  如果一次性插入多条语句的话. 需要返回这些自动生产的标识列. 那么outpu就派上用场了.

declare @temp table(k int, v nvarchar(200))
insert into t1(datacol)
output inserted.keycol, inserted.datacol
into @temp
select * from @temp

--------------------

insert into DownLog
output
newid(),inserted.id,inserted.ID,inserted.ID, inserted.ID,getdate() into MatchOrderLog
values(‘123444‘,‘aaaaaa.txt‘,getdate(),1,1,1)

 

select  * from  MatchOrderLog

 

带有output的delete语句和update语句也大同小异.

delete语句能操作deleted临时表. 而update的本质是delete和insert一次能操作inserted和updated两张表.


update loanee set MatchOrder=@MatchOrder,UpdateTime=getdate()

output
newid(),deleted.id,deleted.ApplicationID,deleted.MatchOrder, inserted.MatchOrder,getdate() into MatchOrderLog
where ApplicationID=@ApplicationID and DeleteState=0 and LoaneeType=0

============================

deleted.参数名  是更改前的参数值

inserted.参数名  是更改或者插入后的参数值 

使用 格式    :    insert into  表名      output    inserted.参数名,inserted.参数名2    into  记录表     values(表值,表值2,表值3...)

          update   表名  set  参数名=参数值,参数名2=参数值2 ...     output    inserted.参数名,inserted.参数名2    into  记录表     where  条件...

 

 

sql server output用法说明

标签:

原文地址:http://www.cnblogs.com/yangjinwang/p/4809639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!