SELECT constraint_name, constraint_type, deferrable,
deferred, validated
FROM dba_constraints
WHERE owner='SUMMIT'
AND table_name='EMPLOYEE';
下表显示 DBA_CONSTRAINTS 视图中非自证明的列
约束中的列
若要获得 SUMMIT 的 EMPLOYEE 表内约束中的列请使用下列查询
SELECT c.constraint_name, c.constraint_type,
cc.column_name
FROM dba_constraints c, dba_cons_columns cc
WHERE c.owner='DBO'
AND c.table_name='RS_DEPT'
AND c.owner = cc.owner
AND c.constraint_name = cc.constraint_name
ORDER BY cc.position;
名称说明
CONSTRAINT_TYPE 如果为主键约束则约束类型为 P 如果为唯一键约
束则为 U 如果为外键约束则为 R 如果为检查
约束则为 C NOT NULL 约束存储为检查约束
SEARCH_CONDITION 显示为检查约束指定的条件
R_OWNER
R_CONSTRAINT_NAME
为外键定义引用约束的所有者和名称
GENERATED 表明约束名是否由系统生成有效值为USER
NAME 和 GENERATED NAME
BAD 表明要重写约束以避免诸如 2000 年问题这类情况在
Oracle 的早期版本中允许在检查约束中指定两位数的
年份所以这种情况可能会发生
RELY 如果设置该标志将用于优化程序
LAST_CHANGE 上次启用或禁用约束的日期
查找主键外键关系
若要查找 SUMMIT 的 EMPLOYEE 表上的外键和父约束请使用下列查询
SQL> SELECT c.constraint_name AS "Foreign Key",
p.constraint_name AS "Referenced Key",
p.constraint_type,
p.owner,
p.table_name
FROM dba_constraints c, dba_constraints p
WHERE c.owner='DBO'
AND c.table_name='RS_DEPT'
AND c.constraint_type='R'
AND c.r_owner=p.owner
AND c.r_constraint_name = p.constraint_name;
oralce约束及其状态
最新推荐文章于 2024-09-29 13:19:39 发布
博客围绕Oracle数据库展开,介绍了查询表约束信息的SQL语句,如查询SUMMIT的EMPLOYEE表内约束信息、约束中的列等。还说明了不同约束类型的表示,如主键为P、唯一键为U等,以及查找外键和父约束的查询方法,同时提及约束相关的优化内容。

1242

被折叠的 条评论
为什么被折叠?



