データベースとして oracle 11g Express を使用して、oracle sql developer で次のステートメントを実行します。トリガーを作成しようとしたときにのみ問題が発生します。私はメッセージを受け取ります -
TRIGGER AUTO_NUM_GEN compiled
Warning: execution completed with warning
SQL-
CREATE TABLE myschema.mytable (mynums NUMBER PRIMARY KEY);
CREATE SEQUENCE myschema.seq_of_nums MINVALUE 1
START WITH 1 INCREMENT BY 1 CACHE 10;
CREATE OR REPLACE TRIGGER myschema.auto_num_gen
BEFORE INSERT ON myschema.mytable FOR EACH ROW
BEGIN SELECT seq_of_nums.nextval INTO :new.mynums FROM DUAL; end; /
私の間違いは何ですか?なぜうまくいかないのですか?
診断クエリを実行しました -
show errors trigger myschema.auto_num_gen;
そして見た -
PLS-00103: Encountered the symbol "/" The symbol "/" was ignored
側では、同じコードがJavaを介して実行されると、エラーも発生します-
java.sql.SQLSyntaxErrorException: ORA-04098: trigger
'MYTABLE.MYSCHEMA.AUTO_NUM_GEN ' is invalid and failed re-validation