首頁 資料庫 mysql教程 MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例

MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例

Jun 07, 2016 pm 06:04 PM
delete insert update

MSSQL2005 INSERT,UPDATE,DELETE使用实例,大家可以看下。

代码如下:
-->Title:Generating test data
-->Author:wufeng4552
-->Date :2009-10-07 15:16:26
if object_id('ta')is not null drop table ta
go
create table ta(ID int identity,[name] varchar(10))
insert ta([name]) select 'a' union all
select 'b' union all
select 'c' union all
select 'd' union all
select 'e' union all
select 'f' union all
select 'g'
if object_id('tb')is not null drop table tb
go
create table tb(ID int identity,[name] varchar(10))
insert tb([name]) select 'a' union all
select 'b' union all
select 'c'
--INSERT 陳述式來使用 OUTPUT INTO
insert tb output
inserted.id,
inserted.[name]
select [name]
from ta where not exists(select 1 from tb where [name]=ta.[name])
/*
id name
----------- ----------
4 d
5 e
6 f
7 g
*/
--刪除剛才插入的紀錄
delete tb where [name]>'c'
--储存此结果集保存到一个表值变量中
declare @t table(ID int,[name] varchar(10))
insert tb output
inserted.id,
inserted.[name]into @t
select [name] from ta where not exists(select 1 from tb where [name]=ta.[name])
select * from @t
/*
ID name
----------- ----------
8 d
9 e
10 f
11 g
(4 個資料列受到影響)
*/
--DELETE 陳述式使用 OUTPUT
delete tb output deleted.* where id=9
/*
ID name
----------- ----------
9 e
(1 個資料列受到影響)
*/
-- UPDATE 陳述式使用 OUTPUT INTO
update tb set [name]='test' output inserted.* where id=10
/*
ID name
----------- ----------
10 test
(1 個資料列受到影響)
*/
/*
OUTPUT 子句对于在 INSERT操作之后检索标识列或计算列的值可能非常有用。
另外OUTPUT子句也可以在UPDATE和DELETE语句中使用,从插入表或删除表中得到数值,并返回这些数值。
以下语句中不支持 OUTPUT 子句:
l 引用本地分区视图、分布式分区视图或远程表的 DML 语句。
l 包含 EXECUTE 语句的 INSERT 语句。
l 不能将 OUTPUT INTO 子句插入视图或行集函数。
简洁的OUTPUT子句,使得向SQL Server导入数据的操作得到了极大的简化。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

修復:Google瀏覽器更新檢查失敗錯誤代碼3:0x80040154 修復:Google瀏覽器更新檢查失敗錯誤代碼3:0x80040154 Apr 13, 2023 pm 05:46 PM

谷歌瀏覽器是全球最受歡迎的瀏覽器之一,許多用戶更喜歡將其用作 Windows PC 上的預設瀏覽器。 Chrome 提供了廣泛的功能,讓瀏覽體驗愉快又輕鬆,因此,它仍然是最受信任的瀏覽器之一。但是,就像任何其他瀏覽器一樣,即使 Chrome 也有其自身的缺點,它同樣容易在您最需要的時候出現錯誤和故障。一個這樣的錯誤是錯誤代碼 3:0x80040154,這發生在檢查 Google Chrome 更新時。錯誤訊息顯示為「檢查更新時發生錯誤。更新檢查無法啟動(錯誤代碼 3:0x80080005)或(錯誤

鍵盤刪除鍵是哪個 鍵盤刪除鍵是哪個 Mar 16, 2023 pm 04:48 PM

鍵盤刪除鍵有兩個:del(delete)鍵和backspace鍵。 backspace又稱退格鍵,這個按鍵可以把遊標前面的文字內容刪除掉;而delete鍵可以刪除字元、檔案和選取物件。每按一次del鍵,就會刪除遊標右側的一個字符,遊標右側的字符向左移動一幀;當選中一個或多個文件/資料夾時,按Del鍵可快速刪除;在某些應用程式中選取某個對象,按Del鍵可快速刪除選取對象。

delete鍵有什麼功能 delete鍵有什麼功能 Mar 10, 2023 pm 06:07 PM

delete鍵的功能為:1、刪除字符;每按一次delete鍵,就會刪除遊標右側的一個字符,遊標右側的字符向左移動一幀。 2、刪除檔案;選取一個或多個檔案/資料夾時,按Delete鍵快速刪除(移至回收站,可恢復)。 3.刪除選取對象;在某些應用程式中選取某個對象,按Delete鍵可快速刪除選取對象。

如何啟用/停用 VS Code 自動更新 如何啟用/停用 VS Code 自動更新 Apr 28, 2023 am 09:28 AM

如果您正在使用VisualStudioCode(VSCode)並考慮如何停用它的自動軟體更新以及如何停用其擴充功能的自動更新,那麼請閱讀本文。如果你不經常使用VSCode,隔了很長一段時間打開編輯器並想啟用自動更新,本文也將引導你這樣做。讓我們詳細討論啟用或停用VSCode自動更新的不同方法。目錄方法一:使用設定啟用/停用VSCode自動更新第一步:開啟VS代碼,在左下角點選齒輪狀的符號。步驟2:在出現的清單中點選設定。步驟3:在搜尋欄中輸入更新並回車。查找更新:模式第4

KDE Plasma 6.1 為流行的 Linux 桌面帶來了許多增強功能 KDE Plasma 6.1 為流行的 Linux 桌面帶來了許多增強功能 Jun 23, 2024 am 07:54 AM

經過多次預發布後,KDE Plasma 開發團隊於 2 月 28 日推出了適用於 Linux 和 BSD 系統的 6.0 版桌面環境,首次使用 Qt6 框架。 KDE Plasma 6.1 現在附帶了許多新功能

如何控制 + Alt + 刪除:Mac 教學課程 如何控制 + Alt + 刪除:Mac 教學課程 Apr 16, 2023 pm 12:37 PM

Control+Alt+Delete:「Mac」方式Ctrlaltdel是Windows使用者用來開啟「工作管理員」的常用組合鍵。他們通常會從管理器選單中退出不需要的應用程序,以釋放電腦上的一些空間。 Control+Alt+DeleteMac變體可讓您開啟「強制退出」功能表。如果Mac用戶想要退出導致問題的程式或查看開啟的程序,他們可以與選單互動以進一步調查。如何在Mac上執行ControlAltDelete?如果您有任何故障的應用程序,您必須使用此組合鍵來擺

Microsoft compatibility telemetry佔用高CPU的解決方法 Microsoft compatibility telemetry佔用高CPU的解決方法 Mar 16, 2024 pm 10:16 PM

我們在使用win10系統的時候有時候會遇到電腦變得卡頓的情況,然後我們在查看後台進程的時候會發現一個Microsoftcompatibilitytelemetry的進程佔用資源特別的高,那麼這是怎麼回事?使用者可以嘗試卸載三方防護軟體後嘗試乾淨啟動來進行操作,以下就讓本站來為使用者來仔細的介紹一下Microsoftcompatibilitytelemetry佔用高CPU的解決方法吧。 Microsoftcompatibilitytelemetry佔用高CPU的解決方法一:卸載三方防護軟體後嘗試

mysql中insert ignore、insert和replace的差別是什麼 mysql中insert ignore、insert和replace的差別是什麼 May 29, 2023 pm 04:40 PM

insertignore、insert和replace的區別指令已存在不存在舉例insert報錯插入insertintonames(name,age)values(“小明”,23);insertignore忽略插入insertignoreintonames(name,age)values(“小明”,24);replace替換插入replaceintonames(name,age)values(“小明”,25);表格需求:有PrimaryKey,或unique索引結果:表id都會自增測試程式碼建立表

See all articles