0

Prog_Type=の場合に起動するトリガーを作成しようとしています'EPISODE'。不正なバインディングエラーが発生しました-PLS-000049。DECLARE状態に問題があると思います

CREATE OR REPLACE TRIGGER Seas_Pk_Trigger
BEFORE INSERT OR UPDATE OF Seas_ID ON Season_Table
FOR EACH ROW
DECLARE 
Prog_Type VARCHAR2(7);
BEGIN
IF (:OLD.Prog_Type <> 'EPISODE')
THEN SELECT Seas_ID_Seq.nextval into :new.Seas_ID from dual;
END IF;
END Seas_Pk_Trigger;
/
4

1 に答える 1

0

テーブル内の列を参照している場合、または疑似レコードで列Prog_Typeを参照するために列を宣言する必要はありません。がテーブルにある場合(私はそうだと思います)、宣言を省略します。:OLD:NEWProg_Type

CREATE OR REPLACE TRIGGER Seas_Pk_Trigger
BEFORE INSERT OR UPDATE OF Seas_ID ON Season_Table
FOR EACH ROW
BEGIN
IF (:OLD.Prog_Type <> 'EPISODE')
THEN SELECT Seas_ID_Seq.nextval into :new.Seas_ID from dual;
END IF;
END Seas_Pk_Trigger;
/

Prog_Type = 'EPISODE'トリガー<>にtoEPISODE句がある場合にのみ、これを起動するというステートメントをどのように解釈するかわかりませんか?

于 2013-02-12T17:50:01.517 に答える