mssql sqlserver output关键字用法说明简介


摘要:
返回insert update delete merge关键字操作影响的行信息,
返回受影响的行表达式


OUTPUT关键字用于及语法说明:

output用于 delete,insert,update,merge 返回相应的受影响的行信息。
output关键字可以使用inserted和deleted表,两张表的功能类似触发器的应用
output语法:

操作语句
output inserted|deleted
表名.列名|*
限定条件



output关键字举例应用

   
create table  test
(keyId int identity,info varchar(30))
 
insert into test
(info)values('maomao365.com'),
(N'sql博客')
 
---插入output输出
insert into test(info)
output inserted.*
values('sqlserver学习')
 
---更新output输出
update test
 set info ='sqlserver'
 output inserted.*
 where keyId =1


---删除output输出
delete from test 
output deleted.*
where keyId=3


declare @testA table
(Info varchar(60))

---删除output输出
---插入到指定表
delete from test 
output deleted.info 
 into @testA
where keyId =2 

select *from @testA a 
  
go
truncate table test 
drop  table test 


注意事项:
对于具有 OUTPUT 子句的 UPDATE、INSERT 或 DELETE 语句,即使在遇到错误需要回滚时,也会将行返回到客户端。 如果在运行语句的过程中出现任何错误,都不应使用该结果。