我有两个表tbl_PurchaseDetails
和tbl_ItemDetails
。我需要从tbl_PurchaseDetails
插入tbl_ItemDetails
的一些行,插入tbl_PurchaseDetails
之后。我知道这个问题,但我无法解决它。请帮忙。创建一个触发器,将表中的记录插入另一个表中。获取插入的值在触发器中
我已经写了扳机下面的代码:
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
)
,现在当我插入tbl_PurchaseDetails
的行添加到tbl_PurchaseDetails
而不是tbl_ItemDetails
。它引发以下错误:
Msg 515, Level 16, State 2, Procedure trigger_UpdateItemDetails, Line 11
Cannot insert the value NULL into column 'PurchaseID', table 'dbStockHandling.dbo.tbl_ItemDetails'; column does not allow nulls. INSERT fails.
我的问题是如何从tbl_PurchaseDetails
使得触发可以将它们插入到tbl_ItemDetails
得到插入的值?
非常感谢您的回复。其实这两个触发器都能正常工作。我想'tbl_ItemDetails'中的自动增量字段,我没有实现,这就是错误发生的原因。再次感谢你。 :d – 2013-03-06 06:04:22