好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > SQLServer2008的實用小道具 merger使用介紹

SQLServer2008的實用小道具 merger使用介紹

熱門標簽:舞鋼市地圖標注app 松原導航地圖標注 浙江地圖標注 沈陽智能外呼系統代理 電銷機器人虛擬號碼 海南自動外呼系統價格 滄州營銷外呼系統軟件 創業電銷機器人 九鹿林外呼系統怎么收費
A. 使用 MERGE 在單個語句中對表執行 UPDATE 和 DELETE 操作
  下面的示例使用 MERGE 根據 SalesOrderDetail 表中已處理的訂單,每天更新 AdventureWorks 示例數據庫中的 ProductInventory 表。通過減去每天對 SalesOrderDetail 表中的每種產品所下的訂單數,更新 ProductInventory 表的 Quantity 列。如果某種產品的訂單數導致該產品的庫存量下降到 0 或更少,則會從 ProductInventory 表中刪除該產品對應的行。
  B. 借助派生的源表,使用 MERGE 對目標表執行 UPDATE 和 INSERT 操作
  下面的示例使用 MERGE 以更新或插入行的方式來修改 SalesReason 表。當源表中的 NewName 值與目標表 (SalesReason) 的 Name 列中的值匹配時,就會更新此目標表中的 ReasonType 列。當 NewName 的值不匹配時,就會將源行插入到目標表中。此源表是一個派生表,它使用 Transact-SQL 行構造函數功能指定源表的多個行。有關在派生表中使用行構造函數的詳細信息,請參閱 FROM (Transact-SQL)。

  C. 將 MERGE 語句的執行結果插入到另一個表中
  下例捕獲從 MERGE 語句的 OUTPUT 子句返回的數據,并將該數據插入另一個表。MERGE 語句根據在 SalesOrderDetail 表中處理的訂單,更新 ProductInventory 表的 Quantity 列。本示例捕獲已更新的行,并將這些行插入用于跟蹤庫存變化的另一個表中
復制代碼 代碼如下:

USE AdventureWorks;
GO
IF OBJECT_ID (N'Production.usp_UpdateInventory', N'P')
IS NOT NULL DROP PROCEDURE Production.usp_UpdateInventory;
GO
CREATE PROCEDURE Production.usp_UpdateInventory
@OrderDate datetime
AS
MERGE Production.ProductInventory AS target
USING (SELECT ProductID, SUM(OrderQty) FROM Sales.SalesOrderDetail AS sod
JOIN Sales.SalesOrderHeader AS soh
ON sod.SalesOrderID = soh.SalesOrderID
AND soh.OrderDate = @OrderDate
GROUP BY ProductID) AS source (ProductID, OrderQty)
ON (target.ProductID = source.ProductID)
WHEN MATCHED AND target.Quantity - source.OrderQty = 0
THEN DELETE
WHEN MATCHED
THEN UPDATE SET target.Quantity = target.Quantity - source.OrderQty,
target.ModifiedDate = GETDATE()
OUTPUT $action, Inserted.ProductID, Inserted.Quantity, Inserted.ModifiedDate, Deleted.ProductID,
Deleted.Quantity, Deleted.ModifiedDate;
GO
EXECUTE Production.usp_UpdateInventory '20030501'

復制代碼 代碼如下:

USE AdventureWorks;
GO
MERGE INTO Sales.SalesReason AS Target
USING (VALUES ('Recommendation','Other'), ('Review', 'Marketing'), ('Internet', 'Promotion'))
AS Source (NewName, NewReasonType)
ON Target.Name = Source.NewName
WHEN MATCHED THEN
UPDATE SET ReasonType = Source.NewReasonType
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name, ReasonType) VALUES (NewName, NewReasonType)
OUTPUT $action, inserted.*, deleted.*;

復制代碼 代碼如下:

USE AdventureWorks;
GO
MERGE INTO Sales.SalesReason AS Target
USING (VALUES ('Recommendation','Other'), ('Review', 'Marketing'), ('Internet', 'Promotion'))
AS Source (NewName, NewReasonType)
ON Target.Name = Source.NewName
WHEN MATCHED THEN
UPDATE SET ReasonType = Source.NewReasonType
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name, ReasonType) VALUES (NewName, NewReasonType)
OUTPUT $action, inserted.*, deleted.*;

復制代碼 代碼如下:

USE AdventureWorks;
GO
CREATE TABLE Production.UpdatedInventory
(ProductID INT NOT NULL, LocationID int, NewQty int, PreviousQty int,
CONSTRAINT PK_Inventory PRIMARY KEY CLUSTERED (ProductID, LocationID));
GO
INSERT INTO Production.UpdatedInventory
SELECT ProductID, LocationID, NewQty, PreviousQty
FROM
( MERGE Production.ProductInventory AS pi
USING (SELECT ProductID, SUM(OrderQty)
FROM Sales.SalesOrderDetail AS sod
JOIN Sales.SalesOrderHeader AS soh
ON sod.SalesOrderID = soh.SalesOrderID
AND soh.OrderDate BETWEEN '20030701' AND '20030731'
GROUP BY ProductID) AS src (ProductID, OrderQty)
ON pi.ProductID = src.ProductID
WHEN MATCHED AND pi.Quantity - src.OrderQty >= 0
THEN UPDATE SET pi.Quantity = pi.Quantity - src.OrderQty
WHEN MATCHED AND pi.Quantity - src.OrderQty = 0
THEN DELETE
OUTPUT $action, Inserted.ProductID, Inserted.LocationID, Inserted.Quantity AS NewQty, Deleted.Quantity AS PreviousQty)
AS Changes (Action, ProductID, LocationID, NewQty, PreviousQty) WHERE Action = 'UPDATE';
GO
您可能感興趣的文章:
  • SQLServer 2008 Merge語句的OUTPUT功能
  • SQLServer 2008中SQL增強之三 Merge(在一條語句中使用Insert,Update,Delete)
  • php函數array_merge用法一例(合并同類數組)
  • SQLServer中merge函數用法詳解

標簽:日喀則 西藏 咸寧 商洛 海口 寶雞 公主嶺 臺灣

巨人網絡通訊聲明:本文標題《SQLServer2008的實用小道具 merger使用介紹》,本文關鍵詞  SQLServer2008,的,實用,小道具,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQLServer2008的實用小道具 merger使用介紹》相關的同類信息!
  • 本頁收集關于SQLServer2008的實用小道具 merger使用介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 美女被喷白浆视频| 1024手机在线观看旧版国产| 91精品国产色综合久久久四虎| 揉我奶?啊?嗯高潮高义高洁视频| 黄色软件快播| 丰满的麻麻出轨小说| www.88xx.info| 亚洲人高潮女人毛茸茸| 叶玉卿三级巜肉欲狂潮| 亚洲人成电影网站色2017| 全免费观看一级| 欧美在线香蕉在线视频| 国产人妻人伦精品一区| WWW国产成人免费观看视频,人| 韩国r级三级在线观看大尺度| 一级黄色片aaa| 色戒720p| 色欲av蜜臀一区二区三区| 欧美又黄又粗又大AV毛自由意志| 交下配日本高清www午色在钱| 欧美大白屁股bbbxx| 出国留学的我如饥似渴| 午夜理理伦一级A片无码软件| 亚洲爆乳巨臀无码专区 | 穿书后成了病娇师尊的掌中囚宠小说| 福利在线视频导航| 打屁股play扇肿| 久久一二三区无码AAAA免费| 全免费A片毛片看金尊视频| 娇喘声与呻吟声| 欧美黄色影片| 少女3电影在线观看| H肉动漫无码AV在线亚洲一区| 91精品国产91久久综合桃花| 高h交换小说| 保康县| 亚洲第一区二区三区| 欧美在线精品一区二区三区不卡| 韩国三级完整版| 鲜肉老师电视剧免费观看完整版影视大全视频 | 欧美疯狂做受xxxx|