如何在Oracle中找到命名约束的定义?

时间:2008-09-17 14:27:21

标签: oracle

我所知道的约束是它的名字(SYS_C003415),但我希望看到它的定义。

4 个答案:

答案 0 :(得分:23)

看起来我应该查询ALL_CONSTRAINTS

select OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION from ALL_CONSTRAINTS where CONSTRAINT_NAME = 'SYS_C003415';

答案 1 :(得分:5)

另一种选择是对DDL进行逆向工程......

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

这里的一些例子......

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

答案 2 :(得分:4)

使用以下查询在oracle中获取约束的定义:

Select DBMS_METADATA.GET_DDL('CONSTRAINT', 'CONSTRAINT_NAME') from dual

答案 3 :(得分:0)

或者看到所有约束使用SYS.DBA_CONSTRAINTS(如果你有权限)