甲骨文发现制约因素

大卫·奥尼尔

我有一个约束称为users.SYS_C00381400我如何找到该约束?有没有办法查询所有约束?

装甲运兵车
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/

像所有数据字典视图一样,如果您只想检查当前架构,则为USER_CONSTRAINTS视图;对于管理用户,则为DBA_CONSTRAINTS视图。

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

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'主要。

通常,给关系约束一个明确的名称是一个好主意。例如,如果数据库为主键创建索引(如果尚未为该列建立索引,它将执行该操作),它将使用约束名称或名称索引。您不希望数据库中充满名为like的索引SYS_C00935191

老实说,大多数人都不会打扰命名NOT NULL约束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章