Получить имя таблицы по имени ограничения [дубликат]


этот вопрос уже есть ответ здесь:

имя ограничения Oracle известно.

Как найти имя таблицы, для которой применяется это ограничение?

3 92

3 ответа:

SELECT owner, table_name
  FROM dba_constraints
 WHERE constraint_name = <<your constraint name>>

даст вам имя таблицы. Если у вас нет доступа к DBA_CONSTRAINTS вид ALL_CONSTRAINTS или USER_CONSTRAINTS он должен работать.

ALL_CONSTRAINTS описывает определения ограничений для таблиц, доступных текущему пользователю.

DBA_CONSTRAINTS описывает все определения ограничений в базе данных.

USER_CONSTRAINTS описывает определения ограничений для таблиц в схеме текущего пользователя

Select CONSTRAINT_NAME,CONSTRAINT_TYPE ,TABLE_NAME ,STATUS from 
USER_CONSTRAINTS;
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";

даст вам то, что вам нужно