В настоящее время я сталкиваюсь с проблемой ограничений оракула.
После отправки вставки мои ограничения внешнего ключа не будут срабатывать. Он должен дать двум таблицам одинаковый идентификатор, но, к сожалению, только одна таблица с первичным ключом дает идентификатор. Столбец с внешним ключом во второй таблице остается нулевым.
Для экземпляра: вставить в таблицу значения t1 (t1_id, name, dpt) (значение1 (триггер с автоинкрементом для идентификатора), значение2, значение3); Та же процедура находится за таблицей 2, таблицей 3 ... Все ограничения записаны правильно
Таблица 1 (Emp)
ID Name Department
1 Joe HR
Таблица 2 (Проекты)
ID Project EmpID
1 new (null) -> must be 1
Спасибо заранее.
Ограничение: ALTER TABLE "PROJECTS" ADD CONSTRAINT "EMP_FK" FOREIGN KEY ("EMP_ID")
REFERENCES "EMP" ("EMP_ID") ON DELETE CASCADE ENABLE
Триггер: create or replace TRIGGER Projects_TRG BEFORE
INSERT ON Projects FOR EACH ROW BEGIN :NEW.Project_ID := Projects_SEQ.NEXTVAL;
END;
Как мне заполнить родительский идентификатор из родительской таблицы в дочернюю таблицу?
Обратите внимание, что я использовал разные имена в своем приложении.