我有一个名为 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 (-----,------)
对此有任何帮助吗?谢谢
运行
create sequence employee_ID_SEQ start with 100 increment by 1;
然后编译触发器并尝试。 读取序列并设置适当的 CACHE etc 值(默认缓存 20 可能没问题,如果你正在做大量的快速插入,你可能想要更多)。