私は2つのテーブルtbl_PurchaseDetailsとtbl_ItemDetails. にレコードを挿入した直後に、いくつかのレコードをtbl_ItemDetailsfromに挿入する必要があります。自動生成されたカスタム フィールドがあります。tbl_PurchaseDetailstbl_PurchaseDetailstbl_PurchaseDetailsPurchaseID
自動生成のコードは次のPurchaseIDとおりです:-
*このトリガーは完全に機能します *
CREATE FUNCTION CreatePurchaseID (@id INT)
RETURNSvarchar(10)
AS
BEGIN
RETURN 'P' + CONVERT(VARCHAR(10), @id)
END
CREATE TRIGGER trigger_PurchaseID ON tbl_PurchaseDetails
FOR INSERT AS
UPDATE
tbl_PurchaseDetails
SET
tbl_PurchaseDetails.PurchaseID = dbo.CreatePurchaseID(tbl_PurchaseDetails.ID)
FROM
tbl_PurchaseDetails
INNER JOIN
INSERTED on tbl_PurchaseDetails.ID= INSERTED.ID
挿入するトリガーの次のコードを作成しました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
)
tbl_PurchaseDetails**そして今、レコードに挿入するtbl_PurchaseDetailsと、tbl_ItemDetails正常に追加されます。ここでの問題は、 がPurchaseIDに null として挿入されることtbl_ItemDetailsです。さすがに挿入されるtbl_PurchaseDetailsけど。