0

私は初めて Oracle を使用していますが、SQL サーバーとその ID に慣れています。しかし今、シーケンスとトリガーを使用しようとしています。しかし、私が修正できないこのエラーが発生し続けます。

identifiers may not start with any ASCII character other than
       letters and numbers.  $#_ are also allowed after the first
       character.  Identifiers enclosed by doublequotes may contain
       any character other than a doublequote.  Alternative quotes
       (q'#...#') cannot use spaces, tabs, or carriage returns as
       delimiters.  For all other contexts, consult the SQL Language
       Reference Manual.

誰でも修正できますか、これが私のコードです。

EXECUTE IMMEDIATE' CREATE SEQUENCE stagechardata_stagecharid
     START WITH 1 
     INCREMENT BY 1;';  

EXECUTE IMMEDIATE' CREATE OR REPLACE TRIGGER stagechardata_stagecharid_TRG
     BEFORE INSERT 
     ON stage_char_data
     FOR EACH ROW
     BEGIN
     IF NEW.stage_char_id IS NULL THEN
        SELECT stagechardata_stagecharid.NEXTVAL INTO NEW.stage_char_id
          FROM DUAL;
          END IF;
     END;';
4

3 に答える 3

0

シーケンスは、SQL ステートメントを含むオブジェクトですが、データは格納しません。トリガーは、テーブルで操作が発生したときに実行される SQL ブロックです。

于 2013-12-15T14:49:10.740 に答える