ALL_CONSTRAINTS¶
ALL_CONSTRAINTS描述了当前用户可以访问的表上的约束。
相关视图:
DBA_CONSTRAINTS 描述了数据库中所有的约束定义。
USER_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) |