簡體   English   中英

查詢以將相似數據從一個表插入到另一個SQL

[英]Query to insert similar data from one table into another SQL

我有一個名為Item的表,它具有列

ID, Code, Description, Cost, Quantity, Barcode, Pack, Bin

我用欄創建了另一個名為Stock的表

ID, Code, Description

我想創建一個觸發器或存儲過程,每次在Item表中創建新產品時,它僅使用列(ID,Code,Description)自動更新庫存表。 當用戶從系統前端創建產品后,一旦商品表更新,庫存表也更新,我就會發生這種情況。我嘗試了下面的腳本,並不斷告訴我無效的列(代碼,說明)

INSERT stock (Code, Description)
SELECT DISTINCT Code, Description
FROM Item
WHERE
   NOT EXISTS (SELECT Code, Description FROM Item)

請協助解決這個奧秘,因為兩個表中都有這些列

我認為您應該使用此。

NOT EXISTS可以判斷該子查詢上是否存在該行。

INSERT INTO 
    stock (Code, Description)
SELECT 
    Code, Description
FROM 
    Item
WHERE
   NOT EXISTS 
   (
       SELECT Code, Description FROM stock 
       WHERE 
            stock.Code = Item.Code
        AND 
            stock.Description = Item.Description
   )

此操作將由觸發器執行,但是請添加您的DBMS,因為對於不同的DBMS,其主體可能不同。

您的查詢將是:

INSERT stock (Code, Description)
SELECT DISTINCT Code, Description
FROM item
WHERE
   NOT EXISTS (SELECT 'stock' FROM stock where Stock.code = item.code
              and stock.description = item.description)

以下代碼將對您有所幫助,

CREATE TRIGGER trigger_UpdateStockDetails ON Item
FOR INSERT AS
BEGIN
    INSERT INTO 
    Stock 
    (
        Code,
        Description
    )
    SELECT 
        Code,
        Description
    FROM 
        INSERTED
    WHERE
    NOT EXISTS 
    (
       SELECT 
           Code,
           Description 
       FROM 
           Stock 
       WHERE 
           Stock.Code = INSERTED.Code
       AND 
           Stock.Description = INSERTED.Description
    )
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM