我有一個表格,每個項目的價格不同。每個項目都有價格0,1,2,3。當價格0更改時,我需要更改價格3。價格3 =價格0 + 20%。我做了這個觸發器:觸發執行
CREATE TRIGGER trg_PG_Change_Price3
ON ItemSellingPrices
AFTER UPDATE
AS
BEGIN
DECLARE
@Item NVARCHAR(25),
@CostPrice FLOAT;
SELECT
@Item = ItemID,
@CostPrice = UnitPrice
FROM
inserted
WHERE PriceLineID = 0
UPDATE ItemSellingPrices
SET UnitPrice = @CostPrice*1.2
WHERE ItemID = @Item AND PriceLineID = 3
END
事實證明,當我通過SQL查詢直接運行UPDATE時,一切都運行完美。但是,當通過ERP更新價格0時,什麼都不會發生。有人有主意嗎? (MS SQL Server) 當通過ERP系統完成更新時,似乎觸發器不會觸發。
我沒有服用問題出題目或很少信息的意圖。事實是,當我的ERP系統更改表格並且不知道如何處理主題時,我無法激活此觸發器。對不起... – PJLG
我發現我的問題!每次我改變價格0,ERP升級所有價格。因此,在更改價格0後觸發器被觸發,但價格3再次被ERP取代。我改變了觸發器,以改變價格3,當他自己改變並且工作時!對不起,我發佈了這個問題,但我幾乎沒有經驗認爲是觸發器設計中的一個缺陷,但只能更好地理解ERP的內部工作原理並據此做出觸發。無論如何,謝謝你。 – PJLG