EA ですべてのステートメントをセミコロンで分割し、同時に作成トリガー ステートメントの後にセミコロンを 1 つだけにする方法はありますか?
問題:
主キーを数値 (18,0) として定義し、列プロパティの AutoNum を True に設定することにより、EA 8.0 を使用して Oracle データベースのトリガーを生成しています。
次に、「DDL の生成」ダイアログで次のチェックボックスを選択します。
トリガーに対して EA が生成するのは
CREATE OR REPLACE TRIGGER TRG_Foo_id
BEFORE INSERT
ON Foo
FOR EACH ROW
BEGIN
SELECT SEQ_Foo_id.NEXTVAL
INTO :NEW.id
FROM DUAL;
END;;
そのトリガーを PL/SQL Developer に挿入すると、メッセージとともにコンパイル エラーが表示されます。
PLS-00103: シンボル";"が見つかりました
するとき
select * from SYS.USER_ERRORS
「SQL ターミネータ」を指定しない場合、トリガーはエラーなしで作成されますが (create ステートメントは 2 つではなく 1 つのセミコロンで終了するため)、他のすべての create table ステートメントはセミコロンで終了せず、「ORA-00922:ステートメントがセミコロンで区切られていないためです。
生成されるトリガー コードに影響を与える直接的な方法は見つかりませんでした。C、Java などの言語のみが参照 され、データベース コードは参照されません。