Как мне найти определение именованного ограничения в Oracle? - PullRequest
12 голосов
/ 17 сентября 2008

Все, что я знаю об ограничении, это его имя (SYS_C003415), но я хочу увидеть его определение.

Ответы [ 4 ]

23 голосов
/ 17 сентября 2008

Похоже, я должен запрашивать ALL_CONSTRAINTS.

select OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION from ALL_CONSTRAINTS where CONSTRAINT_NAME = 'SYS_C003415';
5 голосов
/ 20 сентября 2008

Другим вариантом будет обратный инжиниринг DDL ...

DBMS_METADATA.GET_DDL('CONSTRAINT', 'SYS_C003415')

Некоторые примеры здесь ....

http://www.psoug.org/reference/dbms_metadata.html

4 голосов
/ 24 февраля 2016

Используйте следующий запрос, чтобы получить определение ограничения в oracle:

Select DBMS_METADATA.GET_DDL('CONSTRAINT', 'CONSTRAINT_NAME') from dual
0 голосов
/ 17 сентября 2008

Или для просмотра всех содержаний используйте SYS.DBA_CONSTRAINTS (если у вас есть права)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...