私は 2 つのテーブルを持っています。
CARD(cardid, credit, usertype,charge)
と
PAYMENTDEVICE(paydevid, paydevip,paydevdate, paydevtime, chargedcardid, mealtype).
食事の種類は「ゲスト」または「標準」です。paymentdevice に新しい行が挿入されたときに、card テーブルにあるクレジットを更新したいと考えています。料金はユーザータイプによって異なります。ただし、食事タイプがゲストの場合、全員が 5$ を支払う必要があります。次のコードを使用しようとしています
CREATE OR REPLACE TRIGGER "TRG_PAYMONEY"
AFTER INSERT
ON PAYMENTDEVICE FOR EACH ROW
BEGIN
UPDATE CARD
WHERE CARDID = :NEW.CHARGEDCARDID
SET CREDIT =
(CASE MEALTYPE
WHEN "STANDARD" THEN CREDIT - CHARGE
WHEN "GUEST" THEN CREDIT - 5
END);
END;
しかし、私はこのエラーが発生します:
PL/SQL: ORA-00971: missing SET keyword, PL/SQL: SQL Statement ignored
. 私を手伝ってくれますか?