Как я могу найти родительскую таблицу (ы) внешних ограничений (ов) на ключе таблицы в oracle? Мне нужно создать раскрывающийся список всех значений, которые могут быть выбраны для этого столбца, на который я смотрю, и вам нужно знать родителя, чтобы я мог посмотреть его значения брата.Как найти родительскую таблицу внешнего ключа ограничения в oracle?
1
A
ответ
2
Вы можете запросить эту информацию от all_constraints
(или user_constraints
или dba_constraints
, конечно). К сожалению, можно только получить имя ограничения внешний ключ ссылается, так что вы должны будете использовать вспомогательный запрос или self join получить ссылающаяся таблицу:
SELECT r.table_name
FROM user_constraints t
JOIN user_constraints r ON t.r_constraint_name = r.constraint_name
WHERE t.constraint_type = 'R' AND t.table_name = 'SOME_TABLE'
Так что я должен применить это таблицу, которая имеет ограничение? Детский стол? – Dale
@Dale yup - замените '' SOME_TABLE'' на имя таблицы с ограничениями внешнего ключа (дочерняя таблица), и вы должны получить имя [s] таблицы [s], которая ссылается (родительская таблица [ s]) – Mureinik
Я сделал это и получил ошибку ORA-00904: «R». «CONSTRAINTS_NAME»: недопустимый идентификатор – Dale