首頁 資料庫 mysql教程 将 MERGE 语句的执行结果插入到另一个表中

将 MERGE 语句的执行结果插入到另一个表中

Jun 07, 2016 pm 02:56 PM
merge 執行 插入 範例 結果 表中 語句

下面的示例捕获从 MERGE 语句的 OUTPUT 子句返回的数据,并将该数据插入到另一个表中。 MERGE 语句根据在 SalesOrderDetail 表中处理的订单更新 ProductInventory 表的 Quantity 列。 本示例捕获已更新的行并将这些行插入到用于跟踪库存变化的另一个表中。

下面的示例捕获从 MERGE 语句的 OUTPUT 子句返回的数据,并将该数据插入到另一个表中。 MERGE 语句根据在 SalesOrderDetail 表中处理的订单更新 ProductInventory 表的 Quantity 列。 本示例捕获已更新的行并将这些行插入到用于跟踪库存变化的另一个表中。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

USE AdventureWorks2012;

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

登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

使用SQL中的MINUS操作符 使用SQL中的MINUS操作符 Feb 18, 2024 pm 04:53 PM

使用SQL中的MINUS操作符

Go語言的縮排規範及範例 Go語言的縮排規範及範例 Mar 22, 2024 pm 09:33 PM

Go語言的縮排規範及範例

Python函數介紹:eval函數的函數與範例 Python函數介紹:eval函數的函數與範例 Nov 04, 2023 pm 12:24 PM

Python函數介紹:eval函數的函數與範例

Python函數介紹:isinstance函數的用法和範例 Python函數介紹:isinstance函數的用法和範例 Nov 04, 2023 pm 03:15 PM

Python函數介紹:isinstance函數的用法和範例

Oracle DECODE函數詳解及用法範例 Oracle DECODE函數詳解及用法範例 Mar 08, 2024 pm 03:51 PM

Oracle DECODE函數詳解及用法範例

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行? 怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行? Mar 10, 2024 pm 02:27 PM

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行?

wps文檔插入中國地圖的圖文方法 wps文檔插入中國地圖的圖文方法 Mar 27, 2024 pm 02:01 PM

wps文檔插入中國地圖的圖文方法

如何在Excel中對多個工作表中的儲存格求和 如何在Excel中對多個工作表中的儲存格求和 Feb 19, 2024 pm 01:57 PM

如何在Excel中對多個工作表中的儲存格求和

See all articles