您的位置:首页 > 数据库 > Oracle

Oracle PL/SQL开发基础(第二弹:使用数据字典视图查看表约束)

2017-03-23 21:53 441 查看
Oracle将用户创建的表、约束等信息都放在数据字典表中,允许开发人员查询数据字典表或视图来获取数据库对象的信息。

有两个数据字典视图提供了约束的详细信息:

-
user_constraints
:如果知道约束名,想知道约束类型,可以查询
user_constraints
,这个视图描述了约束的定义,但是它不描述约束定义在哪些字段名称上。

-
user_cons_columns
:视图中显示约束的字段名称。如果主键是一个联合主键,这个视图中将有这个约束的两条记录,联合主键的每一个字段对应一条记录。每一条记录通过position(在联合主键中的位置)来区别。

例如想要查询
invoice_check_others
表中的所有约束信息,可以这样:

--查询invoice_check_others表中的所有约束
SELECT constraint_name, search_condition, status
FROM user_constraints
WHERE table_name = UPPER ('invoice_check_others');


如果要获取
invoice_check_others
表的列约束信息,可以这样:

--查询约束应用的列信息
SELECT constraint_name, column_name
FROM user_cons_columns
WHERE table_name = UPPER ('invoice_check_others');


作为DBA,还可以使用
all_constraints
all_cons_columns
来获取约束的详细信息,如:

SELECT a.table_name,
a.constraint_name,
a.search_condition,
b.column_name,
a.constraint_type
FROM all_constraints a, all_cons_columns b
WHERE a.table_name = UPPER ('invoice_check_others')
AND a.table_name = b.table_name
AND a.owner = b.owner
AND a.constraint_name = b.constraint_name;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐