Проблема оракула с триггером и nextval
У меня есть таблица с именем сотрудников со следующими данными:
Employee_ID Employee_Salary Employee_HireDate
100 ---- -----
101 ---- -----
Теперь я хочу создать триггер, который позволяет мне извлекать новый employee_id и увеличивать его на единицу, чтобы его можно было поместить в таблицу. Я нашел такой пример:
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 (-----,------)
Любая помощь с этим? Спасибо
1 ответ
Решение
Бежать
create sequence employee_ID_SEQ start with 100 increment by 1;
затем скомпилируйте триггер и попробуйте. прочитайте последовательности и установите соответствующее значение CACHE и т. д. (по умолчанию кэш-память в 20, вероятно, в порядке, если вы делаете кучу быстрых вставок, вам может потребоваться больше).