2017-05-11 4 views
0

クラス内の課題の販売アプリケーションを開発中で、Pay_ID、Invoice_ID、Total_Amount、Received、Balance、Pay_Statusという列を持つPaymentsテーブルがあります。 Total_Amountが支払われたかどうかの条件に応じて、Pay_Statusは自動的に「完了」または「保留中」に更新されます。このためのトリガーを作成するにはどうすればよいですか?すべての列がvarchar(50)に設定されています 返信するための事前のお礼自動SQLサーバーデータベース内の列の更新

+0

あなたは、列の定義を変更したり、それはVARCHAR(50)として滞在していることができますトリガー?あなたはそれのための数式を使用することができます。 – Whencesoever

+0

私はそれのためのaswerを提供しました。 – Whencesoever

+0

@ありがとうございました:) – 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 
関連する問題