Oracle-17-数据字典查看约束信息

一、查看有关约束信息

1.利用数据字典user_constraints可以查看用户模式下的表的约束信息

SQL> select owner,constraint_name,constraint_type,table_name

      2  from user_constraints;

上述SQL语句可以查询出用户模式下每张表的约束情况

 

2.利用数据字典user_cons_columns可以查看每张表定义的约束是在哪一列上

SQL> col column_name fora10;

SQL> col owner for a10;

SQL> select owner,constraint_name,table_name,column_name

       2  from user_cons_columns;

 

实战操作:

Step1:查看user_constriants的表结构,如下图:

Oracle-17-数据字典查看约束信息_第1张图片

Step2:查看当前用户模式下的表的约束信息,注意图中命令,如下图:

Oracle-17-数据字典查看约束信息_第2张图片

Oracle-17-数据字典查看约束信息_第3张图片

Step3:以上看起来有点麻烦,那么修改一下,注意图中命令,如下图:

Oracle-17-数据字典查看约束信息_第4张图片

比如上图中蓝线上一行,有个名为CK_AGE的约束,类型是check约束,存在于D表中(第一列owner是用户,第二列constraint_name是约束名,第三列c是约束类型,第四列table_name是存在于哪张表中),对于约束类型,图中R表示外键约束。

 

实战操作2(查看约束具体在哪张表的哪一列):

Step1:查看当前用户模式下表的约束信息,可以具体到哪一列,注意下图中的命令,如下图:

Oracle-17-数据字典查看约束信息_第5张图片

Oracle-17-数据字典查看约束信息_第6张图片

Step2:发现看上去有点乱,那么格式化一下,注意命令col column_name for a15;意思是将column_name列长度控制在15个字符,如下图:

Oracle-17-数据字典查看约束信息_第7张图片

Oracle-17-数据字典查看约束信息_第8张图片

Step3:发现还是乱,继续格式话,如下图:


Oracle-17-数据字典查看约束信息_第9张图片

比如图中蓝线那边,可以看出当前用户下的D表中有两个约束,分别存在于D表的sex和age两列,约束名分别为ck_sex和ck_age。

你可能感兴趣的:(Oracle-17-数据字典查看约束信息)