2014-02-25 76 views
-1

當我想從一個表中獲取值到另一個表的工作,但是當我想要編輯值時,它會將新值添加到tbl_ItemDetails。我只需要更新現有的行。創建觸發器將表中的記錄插入另一個表

CREATE TRIGGER trigger_UpdateItemDetails ON tbl_PurchaseDetails 

FOR INSERT AS 

DECLARE @PurchaseID VARCHAR(20) 

DECLARE @Quantity INT 

DECLARE @WarehouseID VARCHAR(20) 

SELECT @PurchaseID=(PurchaseID) FROM INSERTED 

SELECT @Quantity=(ItemQuantity) FROM INSERTED 

SELECT @WarehouseID=(WarehouseID) FROM INSERTED 

INSERT INTO 

tbl_ItemDetails 

(PurchaseID,Quantity,WarehouseID) 

VALUES 

(@PurchaseID,@Quantity,@WarehouseID) 
+5

爲什麼標記爲c? – Collin

+0

看起來像SQL Server也許? (如果是這樣,請添加該標籤,否則請爲您的數據庫系統添加一個標籤,觸發器是供應商特定的)。如果它是SQL Server,它已經損壞。 'inserted'可以包含0,1或**多行**。 –

+0

請發佈您的表架構的SQL小提琴或張貼在這裏。 – UnhandledExcepSean

回答

0

讓我開始與此: 你永遠不應該寫不能處理組觸發器。

CREATE TRIGGER trigger_UpdateItemDetails ON tbl_PurchaseDetails 
FOR INSERT AS 

UPDATE itm 
SET PurchaseID=i.PurchaseID 
    ,Quantity=i.ItemQuantity 
    ,WarehouseID=i.WarehouseID 
FROM INSERTED i 
INNER JOIN tbl_ItemDetails itm ON i.???=itm.??? 
--I have no idea what your join clause should be as I don't know your data structure 
+0

我需要幫助才能從表中獲取值。我有一個數據庫「MechanicalDatabase」,我有4個表。我想從表格「a」,「b」,「c」到表格「報告」中獲取「材料」和「價格」的值。我的意思是,當我寫的東西,以表A,B,C我想看到表這些值「報告」 表「一」的提法,材質,價格 表「B」的提法,材質,價格 表「c」參考,材料,價格 表「報告」材料,價格 – user3198433

相關問題