SQL output子句的用法
以上是表soloreztest的原始內(nèi)容使用output子句對其進(jìn)行操作
A. 將 OUTPUT INTO 用于簡單 INSERT 語句
?? 以下示例將行插入soloreztest表,并使用 OUTPUT 子句將語句的結(jié)果返回到 @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
結(jié)果是:
?
? output??? into子句是將向soloreztest表里面的數(shù)據(jù)同步的插入的@mytable的表變量里面
? output 子句則只是用于顯示被改變的數(shù)據(jù)INSERTED 或 DELETED 前綴
??inserted?前綴:用于檢索新插入表中或是更新后的數(shù)據(jù)的數(shù)據(jù) 可用與insert和update語句中不能在delete語句中出現(xiàn)
? deleted 前綴: 用于檢索被刪除或是更新前的數(shù)據(jù) 可用與delete和update語句中不能在insert 語句中出現(xiàn)
?B. 將 OUTPUT 用于 DELETE 語句
???以下實(shí)例是將在表中soloreztest刪除行是放回被刪除行的信息
???? delete soloreztest? output deleted.* where id=2
??
?
?同理以上也可使用會 output into語句將被刪除的信息插入到一個新表中
?C. 將 OUTPUT? 用于 UPDATE
?以下實(shí)例將在表中更新數(shù)據(jù)是使用output?返回修改前的數(shù)據(jù)和修改后的數(shù)據(jù)
update soloreztest?? set name='zz' output? inserted.name,deleted.name where id=3
?
inserted.name:表示的是在?soloreztest表中更新后的數(shù)據(jù)內(nèi)容。
deleted.name :表示的是在soloreztest表中的更新前的數(shù)據(jù)內(nèi)容。
轉(zhuǎn)載于:https://www.cnblogs.com/zzandlx/archive/2009/07/17/1525296.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的SQL output子句的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ANSYS FLEXlm License
- 下一篇: 【转】Linux入门命令篇(简训)