谁有oracle账号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的表结构,如下图:

vcD4KPHA+U3RlcDKjurLpv7S1scew08O7p8Sjyr3PwrXEse21xNS8yvjQxc+io6w8c3Ryb25nPteoracle账号i0uLNvNbQw/zB7jwvc3Ryb25nPqOsyOfPws28o7o8L3A+CjxwPjxpbWcgc3JjPQ==”https://www.2cto.com/uploadfile/Collfiles/20160415/20160415090126381.png” alt=”\”>

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

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

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

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

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

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

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

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。