Коллеги, помогите!
Вкратце: хочу сделать автоинкремент. Таблица есть, сиквенс есть, триггер before insert есть. Запись значения не проходит, если id не указывать (если указывать, то тоже). Работаю под пользователем HWDB в одноименной схеме, объекты там же.
Запрос:
insert into "Location" ("location_name","location_desc") values ('1','2')
Диагностика:
автор |
[SQL] insert into "Location" ("location_name","location_desc") values ('1','2') [Err] ORA-04098: trigger 'HWDB.tr_Location_bi' is invalid and failed re-validation
|
Подскажите, где ошибка?скрипты :
create sequence "S_Location"
start with 1
increment by 1;
create table "Location"
(
"location_id" NUMBER(6) not null,
"location_name" VARCHAR2(50),
"location_desc" VARCHAR2(50),
constraint PK_LOCATION primary key ("location_id")
);
CREATE TRIGGER HWDB."tr_Location_bi"
BEFORE INSERT ON HWDB."Location"
REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
BEGIN
select "S_Location".nextval into :new.location_id from dual;
END;