以下のSQLトリガーは、Oracle SQL Plusで正しく実行されました
CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT ON RESULTS
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT Pd_seq.nextval INTO :NEW.PT_ID FROM dual;
END;
/
しかし、同じコードを Java で実装すると、次のエラーがスローされました。
コード:
ResultSet rs1 = stmt.executeQuery("CREATE OR REPLACE TRIGGER test_trigger123 "+
"BEFORE INSERT ON RESULTS"+
"REFERENCING NEW AS NEW"+
"FOR EACH ROW"+
"BEGIN"+
"SELECT Pd_seq.nextval INTO :NEW.PT_ID FROM dual;"+
"END;"+
"\n/");
Eclipse のエラー メッセージ:
SQL Exception:
State : 42000
Message: ORA-04079: invalid trigger specification
Error : 4079
よろしくお願いします。エラーの原因は何ですか?