2014-01-21 73 views
-2

嗨,我正在使用SQLServer2008。使用觸發器在另一個表中插入記錄

以下是我的Product表。

ProductId 
CategoryId 
Name 
Qty 

其中ProductId是主鍵和自動生成。下面是我Stock

StockId 
ProductId 
Stock 

這裏StockId是主鍵和自動生成。 現在當在Product表中插入任何新的reord時,我想要使用觸發器在Stock表中插入生成的ProductId。我怎樣才能做到這一點。任何幫助,將不勝感激。謝謝

+0

你可以把你在你的問題試過的觸發器的代碼? –

+1

你有什麼嘗試?爲什麼Product表中有'Qty'列?你是否在使用這兩個產品的詳細信息*和*庫存管理? 「股票」表中的「股票」列有什麼價值? (另外,您並不需要觸發器;如果您不允許牛仔數據操作,則可以使用原始插入中的OUTPUT子句。) –

回答

1

請嘗試以下操作。假設您希望stock的新產品默認爲0。否則相應修改。

CREATE TRIGGER trig_Insert_Stock 
ON [Product] 
FOR INSERT 
AS 
Begin 
    Insert into Stock (ProductId, Stock) 
    Select Distinct i.ProductId, 0 
    from Inserted i 
End 
+2

+1用於猜測,當然如果ProductID是主鍵,你不需要'獨特'。 –

+0

@AaronBertrand它給出錯誤'無效的列名'ProductId'.' – Prashant16

+1

@ Prashant16 *聳肩*我不知道如何幫助你,傢伙。看起來好像你沒有正確實現這個代碼,或者你的表與你在問題中顯示的不一樣。 –

相關問題