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 回答