中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

SQLServer中怎么使用Merge語句

本篇文章給大家分享的是有關SQL Server中怎么使用Merge語句,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

富裕網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。

面舉一個例子來具體說明一下: 有兩個表SourceTable為登陸表,TargetTable為授權表,如果訪問用戶在登陸表中,更新授權表的授權級別,否則授權0表示游客。sql語句如下: --SourceTable為登陸表,TargetTable為授權表 --如果訪問用戶在登陸表中,更新授權表的授權級別,否則授權0表示游客。 create table SourceTable(UserName nvarchar(10),Pwd int,[Level] int) create table TargetTable(UserName nvarchar(10),[Level] int) go --下面是SQL Server2008新增的賦值功能,更多新功能請參見 insert into SourceTable values('user1','111',1),('user2','222',2),('user3','333',3) insert into TargetTable values('user1',1),('user2',2) 一般情況,我們會寫如下的語句:復制代碼 代碼如下: declare @UserName varchar(10) = 'user2'--表示某個登陸的用戶名 merge into TargetTable as tg using (select UserName,[Level] from SourceTable where UserName=@UserName) as sr(UserName,[Level]) on tg.UserName=sr.UserName when matched then update set [Level]=sr.[Level]--更新授權級別 when not matched by target then insert (UserName,[Level]) values(@UserName,0)--表示游客 output $action;

執(zhí)行結果為UPDATE,表示執(zhí)行了更新操作,也正是我們想要的。 但是如果我們把@UserName賦值為'user6',希望能在TargetTable中插入一條記錄,但是實際執(zhí)行結果為空,顯示什么都沒執(zhí)行。原因就是using (select UserName,[Level] from SourceTable where UserName=@UserName) as sr(UserName,[Level]) on tg.UserName=sr.UserName這個語句中,sr結果集為空,所以merge語句就不向后執(zhí)行了,不知道這是不是SQL Server的bug。 下面的SQL可以解決上面的問題:復制代碼 代碼如下: declare @UserName varchar(10) = 'user7'--表示某個登陸的用戶名 merge into TargetTable as tg using (select @UserName) as sr(UserName) on tg.UserName=sr.UserName when matched then update set [Level]= (select top 1 [Level] from SourceTable where UserName=@UserName) --更新授權級別 when not matched by target then insert (UserName,[Level]) values(@UserName,0)--表示游客 output $action;

以上就是SQL Server中怎么使用Merge語句,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標題:SQLServer中怎么使用Merge語句
網(wǎng)頁鏈接:http://www.rwnh.cn/article24/jipgce.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、品牌網(wǎng)站建設、品牌網(wǎng)站制作小程序開發(fā)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
光泽县| 鹤庆县| 祁门县| 南通市| 陇川县| 合江县| 河源市| 锡林郭勒盟| 沅陵县| 沅江市| 乌兰县| 长岭县| 张北县| 高尔夫| 阳春市| 丹东市| 大埔县| 临沭县| 皋兰县| 襄樊市| 贺州市| 安陆市| 婺源县| 龙胜| 泸西县| 大荔县| 通榆县| 顺平县| 沂南县| 龙海市| 大同县| 大庆市| 新巴尔虎右旗| 锡林郭勒盟| 社旗县| 盐边县| 洪江市| 新田县| 同心县| 浦东新区| 神木县|