ALL_CONSTRAINTS

ALL_CONSTRAINTS描述了当前用户可以访问的表上的约束。

相关视图:

DBA_CONSTRAINTS 描述了数据库中所有的约束定义。

USER_CONSTRAINTS 描述了当前用户模式下所有表的约束定义。

表6 ALL_CONSTRAINTS 结构
列名 类型 描述
OWNER VARCHAR(128) 约束定义的拥有者(名字长度大于30的,截取名字的前30个字符)
CONSTRAINT_NAME VARCHAR(8000) 约束定义的名字(名字长度大于30的,截取名字的前30个字符)
CONSTRAINT_TYPE VARCHAR(1) 约束定义的类型: C -表上的Check约束 P -主键约束 U -唯一键 R -参照完整性
TABLE_NAME VARCHAR(128) 有这个约束的表的名字(名字长度大于30的,截取名字的前30个字符)
SEARCH_CONDITION CLOB Check约束的搜索条件的文本(Oracle中为long类型)
R_OWNER VARCHAR(128) 外键约束引用的表的所有者(名字长度大于30的,截取名字的前30个字符)
R_CONSTRAINT_NAME VARCHAR(128) 被外键引用的表上的唯一约束的名字(名字长度大于30的,截取名字的前30个字符)
DELETE_RULE VARCHAR(9) 外键约束的删除规则 NO ACTION RESTRICT CASCADE SET NULL SET DEFAULT NULL
STATUS VARCHAR(8) 约束的执行状态: ENABLED DISABLED
DEFERRABLE VARCHAR(14) 指明约束是否是可延期的DEFERRABLE或者NOT DEFERRABLE
DEFERRED VARCHAR(9) 指明约束是否最初是可延期的DEFERRED或者IMMEDIATE。
VALIDATED VARCHAR(13) 当 STATUS = ENABLED时,可能的取值为: VALIDATED -所有数据都服从约束(也就是,约束启用的时候,表中已经存在的数据是能通过验证的,随后插入的数据也要能通过验证) NOT VALIDATED -全部数据可能有不遵守约束的(也就是,当约束启用的时候,表中已经存在的数据有的通不过约束条件,但是随后插入到表中的数据必须满足约束条件。) 当 STATUS = DISABLED时可能的取值有: VALIDATED -所有的数据都满足约束条件,但是约束上的唯一索引被drop掉了。 NOT VALIDATED -所有数据不全符合约束条件
GENERATED VARCHAR(14) 指明约束条件的名称是用户指定的(USER NAME)还是系统生成的(GENERATED NAME)(取固定值"GENERATED NAME")
BAD VARCHAR(3) 指明这个约束是否用一种模棱两可的方式指定了一个世纪(BAD),没有则取值为NULL。(目前取固定值NULL)
RELY VARCHAR(4) 当 VALIDATED = NOT VALIDATED时,本列指明约束是否应用到查询重写中,取值为RELY或者NULL 当 VALIDATED = VALIDATED时,该列没有意义(目前取固定值NULL)
LAST_CHANGE DATE 约束条件最后一次被启用或禁用的时间
INDEX_OWNER VARCHAR(128) 索引的拥有者的名字(名字长度大于30的,截取名字的前30个字符)
INDEX_NAME VARCHAR(128) 索引的名字(只有唯一和主键约束才显示)(名字长度大于30的,截取名字的前30个字符)
INVALID VARCHAR(7) 指明约束是否无效(目前取固定值NULL)
VIEW_RELATED VARCHAR(14) 当约束依赖于一张视图时取值为DEPEND ON VIEW,否则取值为NULL(目前取固定值NULL)