Получить имя таблицы по имени ограничения
Известно имя ограничения Oracle.
Как найти имя таблицы, для которой применяется это ограничение?
Ответы
Ответ 1
SELECT owner, table_name
FROM dba_constraints
WHERE constraint_name = <<your constraint name>>
предоставит вам имя таблицы. Если у вас нет доступа к представлению DBA_CONSTRAINTS
, ALL_CONSTRAINTS
или USER_CONSTRAINTS
также должны работать.
Ответ 2
ALL_CONSTRAINTS
описывает определения ограничений для таблиц, доступных для текущего пользователя.
DBA_CONSTRAINTS
описывает все определения ограничений в базе данных.
USER_CONSTRAINTS
описывает определения ограничений в таблицах в текущей пользовательской схеме
Select CONSTRAINT_NAME,CONSTRAINT_TYPE ,TABLE_NAME ,STATUS from
USER_CONSTRAINTS;
Ответ 3
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
предоставит вам то, что вам нужно