首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Oracle查找约束

Oracle查找约束
EN

Stack Overflow用户
提问于 2010-01-20 01:17:30
回答 3查看 319.7K关注 0票数 189

我有一个名为users.SYS_C00381400的约束。我怎样才能找到这个约束是什么?有没有办法查询所有的约束?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-20 01:21:17

代码语言:javascript
复制
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/

与所有数据字典视图一样,如果您只想检查当前模式和管理用户的DBA_CONSTRAINTS视图,则这是一个USER_CONSTRAINTS视图。

约束名称的结构指示系统生成的约束名称。例如,如果我们在表声明中指定NOT NULL。或者实际上是主键或唯一键。例如:

代码语言:javascript
复制
SQL> create table t23 (id number not null primary key)
  2  /

Table created.

SQL> select constraint_name, constraint_type
  2  from user_constraints
  3  where table_name = 'T23'
  4  /

CONSTRAINT_NAME                C
------------------------------ -
SYS_C00935190                  C
SYS_C00935191                  P

SQL>

'C'用于检查,'P'用于主要。

通常,给关系约束一个明确的名称是个好主意。例如,如果数据库为主键创建了一个索引(如果该列还没有索引,它就会这样做),它将使用约束名称oo来命名索引。您不会想要一个充满了名为SYS_C00935191的索引的数据库。

老实说,大多数人都不屑于命名NOT NULL约束。

票数 307
EN

Stack Overflow用户

发布于 2013-12-18 01:57:33

要获得更详细的描述(哪个表/列引用哪个表/列),您可以运行以下查询:

代码语言:javascript
复制
SELECT   uc.constraint_name||CHR(10)
   ||      '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
   ,       'REFERENCES'||CHR(10)
   ||      '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
FROM user_constraints uc ,
  user_cons_columns ucc1 ,
  user_cons_columns ucc2
WHERE uc.constraint_name = ucc1.constraint_name
AND uc.r_constraint_name = ucc2.constraint_name
AND ucc1.POSITION        = ucc2.POSITION -- Correction for multiple column primary keys.
AND uc.constraint_type   = 'R'
AND uc.constraint_name   = 'SYS_C00381400'
ORDER BY ucc1.TABLE_NAME ,
  uc.constraint_name;

来自here

票数 29
EN

Stack Overflow用户

发布于 2014-04-02 20:49:33

也许这能帮上忙..

代码语言:javascript
复制
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2095415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档