TRIGGER


🏹 TRIGGER


INSERT、UPDATE、DELETEなどのDMLによるテーブルまたはビュー内のイベントが発生した場合
自動的に実行されるコンテンツを定義して保存するオブジェクト(PROCEDURE)

🏹 TRAIGGERのタイプ


  • SQL文の実行時間による分類
    クラス摘要BEFORE TRAIGGERSQL文を実行する前に、TRAIGGER AFTER TRAIGGERSQL文を実行し、TRAIGGER文を実行します

  • SQL文の影響を受けるROWごとに分類
    タイプは、各ローのフリップフロップが各ROWに対して1回のフリップフロップを実行し、フリップフロップの生成時にFOREACH ROWオプションを作成することを示します.
  • 🚩 ソースコード

    CREATE OR REPLACE TRIGGER STOCK_TRG 
    AFTER INSERT ON PRO_DETAIL 
    FOR EACH ROW -- ROW TRIGGER 옵션
    BEGIN 
        IF (:NEW.STATUS = '입고') 
        THEN 
            UPDATE PRODUCT SET 
            STOCK = STOCK + :NEW.AMOUNT 
            WHERE PCODE = :NEW.PCODE;
        ELSE -- 출고
            UPDATE PRODUCT SET
            STOCK = STOCK - :NEW.AMOUNT
            WHERE PCODE = :NEW.PCODE;
        END IF;
    END;
    /