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

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_constraintsall_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;
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值