次の VendorAccount テーブルを作成しました
VendorAccount
(Ven_AccountId,
Ven_RegNo,
Ven_Invoice_RefNo,
TotalAmount,
Paid_ToVen ,
Balance
)
上記の表では、TotalAmount の値は別の Table( Vendor_InvoiceDetails
) から取得されます。TOTALBALANCE 値は、POPUP LOV によって選択されます。
金額は()Pad_TOVEN
から差し引かれます。選択すると、下の図に示すように古いものが表示されます。
TOTALAMOUNT
TotalAMount-Pad_TOVEN
TOTALAMOUNT
TOTAL VALUE
値を更新したい.TotalAmountを選択するたびに、新しいエントリの列のVen_Invoice_RefNo
2300に基づいて新しい更新された値が得られるはずです。TotalAmount
以下はトリガーですが、以下のエラーがあります
エラー: PLS-00103: Encountered the symbol "DECLARE" when expecting one of the following: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current curs
引き金:
create or replace trigger "VENDORACCOUNT_T2"
BEFORE
insert or update or delete on "VENDORACCOUNT"
for each row
begin
DECLARE new_balance INT;
DECLARE new_total INT;
DECLARE new_paid INT;
SELECT balance INTO old_balance,
total INTO old_total,
PAID_TOVEN INTO new_paid
FROM vendoraccount
WHERE ven_regno = new.ven_regno
AND VEN_INVOICE_REFNO = new.VEN_INVOICE_REFNO;
UPDATE vendoraccount SET TOTALAMOUNT = old_total + old_balance - new_paid,
balance = TOTALAMOUNT - new_paid
WHERE VEN_REGNO= new.VEN_REGNO
AND VEN_INVOICE_REFNO = new.VEN_INVOICE_REFNO;
end;