1

次のデータを持つemployeesというテーブルがあります。

  Employee_ID     Employee_Salary       Employee_HireDate
  100              ----                  -----
  101              ----                  -----

次に、新しいemployee_idをフェッチし、それを1つインクリメントして、テーブルに配置できるようにするトリガーを作成します。私はこのような例を見つけました:

 CREATE OR REPLACE TRIGGER employee_b
 BEFORE INSERT ON employee
 FOR EACH ROW
 DECLARE
      v_employee_id employee.employee_id%TYPE;
 BEGIN
       SELECT employee_ID_SEQ.NEXTVAL
       INTO v_employee_id
           FROM dual;
       :NEW.employee_id:=v_employee_id;
 END;

しかし、私が得るエラーは次のとおりです。

 ERROR at line 4: PL/SQL: ORA-02289: sequence does not exist

次のような挿入イベントの前にそのトリガーを使用したいと思います。

 INSERT INTO employee(employee_salary,employee_hiredate) VALUES (-----,------)

これで何か助けはありますか?ありがとう

4

1 に答える 1

1

走る

create sequence employee_ID_SEQ start with 100 increment by 1;

次に、トリガーをコンパイルして試してください。シーケンスを読み取り、適切なCACHEなどの値を設定します(デフォルトのキャッシュは20で問題ありません。大量の高速挿入を行う場合は、さらに多くの値が必要になる場合があります)。

于 2012-11-12T21:09:57.150 に答える