У меня есть ссылочное ограничение, которое не будет включено, даже если ссылочные значения действительно находятся в ссылочной таблице. Я внимательно изучил правописание в скрипте ограничения и в обеих таблицах.Oracle 11g: Ограничение ограничения
Когда я пытаюсь включить ограничение, возвращается ошибка «родительский ключ не найден». Я физически сравнивал данные, и необходимые значения действительно находятся в таблице, на которую ссылаются.
Обозначенный столбец задан как первичный ключ и включен.
Связанный процесс касается загрузки/передачи данных из другой схемы/базы данных через dblink.
В исходных таблицах для передачи данных существует аналогичное ограничение, которое действительно включено.
Невозможно опубликовать данные из-за чувствительности к данным, просто надеялся, что я смогу получить некоторые идеи о дальнейших проверках.
Любые идеи или предложения, оцененные.
Код для ограничения:
ALTER TABLE SR2.LOG ADD (
CONSTRAINT FF1
FOREIGN KEY (NOTCH_ID)
REFERENCES SR2.NOTCH (ID)
DISABLE NOVALIDATE);
ли пользователи продолжают вставлять данные на любой из родительских или дочерних таблиц в то время как вы проверяете на FK? Это делается в производственной базе данных? –
Исходная таблица - это производство, но ссылочные значения можно увидеть в таблице ссылок. –
Возможно, причиной может быть порядок, в котором пользовательский процесс вставляет данные. Такие вещи, как вставка на детскую таблицу. Только идея. Вы попробовали предложение EXCEPTIONS? –