2017-05-11 61 views
0

我們正在爲班級中的作業開發一個銷售應用程序,其中有Payments表,其中包含Pay_ID,Invoice_ID,Total_Amount,Received,Balance和Pay_Status列。如果Total_Amount已支付或不支付,Pay_Status應根據條件自動更新爲「完成」或「待定」。我如何爲此創建觸發器?所有列已設置爲varchar(50) 在此先感謝您回覆自動更新SQL服務器數據庫中的列

+0

能夠在您更改列的定義也已經留爲varchar(50)有觸發器?原因你可以使用公式。 – Whencesoever

+0

我提供了一個aswer。 – Whencesoever

+0

@Whencesoever謝謝:) – Jakey

回答

0

只要改變它的計算定義:

(case when [TotalAmount]=[Received] then 'Complete' else 'Pending' end) 
0

這應該做的伎倆

CREATE TRIGGER tx_UpdatePayStatus 
ON Payments 
AFTER UPDATE 
AS 
BEGIN 
IF (SELECT TotalAmount FROM Payments) <> (SELECT Received FROM Payments) 
UPDATE Payments 
SET Pay_Status = 'Pending' 
ELSE 
UPDATE Payments 
SET Pay_Status = 'Complete' 
END