Я только изучаю Oracle и понимаю концепцию триггеров и последовательностей. То, что я не могу найти, так это то, как они используются вместе с автоматическим приращением, аналогично настройке SqlServer Identity. В очень простом примере у меня есть таблица с именем Employees, которая имеет три поля (все обязательные): EmployeeID (PK), FirstName, LastName. Я создал последовательность, чтобы получить следующее значение для поля идентификатора. Затем я создал триггер, который выглядит так:
CREATE OR REPLACE TRIGGER MyFirstTrigger
BEFORE INSERT ON EMPLOYEES FOR EACH ROW
BEGIN
Select EMP_SEQ.NextVal into :NEW.EMPLOYEEID from dual;
END MyFirstTrigger;
/
Однако как это используется в операторе вставки? Оператор вставки только со значениями FirstName и LastName не выполняется для «Недостаточно значений» (кстати, я использую Toad). Если мне нужно включить EMP_SEQ.NextVal в качестве первого значения оператора вставки, в чем смысл триггера?
Надеюсь, это имеет смысл. Заранее спасибо.