JSON

oracle管理技巧之唯一约束的校验

字号+ 作者:H5之家 来源:H5之家 2015-11-18 14:08 我要评论( )

方法/步骤 1、首先我们创建出测试表,并在该表上创建一个唯一约束。可以看到默认约束的属性就是enable和validate 2、首先我们先来测试enable,我们往表里插入测试

方法/步骤
1、首先我们创建出测试表,并在该表上创建一个唯一约束。可以看到默认约束的属性就是enable和validate

oracle管理技巧之唯一约束的校验


2、首先我们先来测试enable,我们往表里插入测试数据,当出现重复时数据库就报错了。这就是enable的特性。

oracle管理技巧之唯一约束的校验


3、那么我们将enable变成disable来测试一下,通过测试看到disable实际就是关闭了唯一约束的功能。

oracle管理技巧之唯一约束的校验


4、接下来说一下validate | novalidate 这两个属性。这两个属性是说当表里已存在数据的时候,我们创建的索引对不对这部分存在的数据做唯一性约束。先来通过下图实验看下validate,可见validate对我们的已有的数据进行了唯一性校验

oracle管理技巧之唯一约束的校验


5、再来看下novalidate,这里解释一下,为什么直接建唯一约束并且我也指定了novalidate(不对已有数据校验),但是依然报已有数据有重复记录。
因为在唯一性约束也是去创建一个唯一索引来实现的,所以在创建唯一索引时出发对原始数据的校验(novalidate不对创建唯一索引起效果)
所以我们必须先创建一个一般索引,再去创建这个唯一约束就不会报错了。

oracle管理技巧之唯一约束的校验


6、但是我再往这个表里插入记录,依然报错,也就是约束对新的记录还存在唯一性限制。

oracle管理技巧之唯一约束的校验



 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
t