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
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的SQL output子句的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ANSYS FLEXlm License
- 下一篇: 【转】Linux入门命令篇(简训)