当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

Oracle 数据库唯一约束中的NULL的处理-入门底子[Oracle防范]

赞助商链接



  本文“Oracle 数据库唯一约束中的NULL的处理-入门底子[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  按照NULL的定义,NULL表示的是未知,因此两个NULL对比的后果既不相等,也不不等,后果仍旧是未知.按照这个定义,多个NULL值的存在应当不违反唯一约束.

  实际上Oracle也是如此实现的:

  SQL> CREATE TABLE T (ID NUMBER);

  表已成立.

  SQL> ALTER TABLE T ADD UNIQUE (ID);

  表已更改.

  SQL> INSERT INTO T VALUES (1);

  已成立 1 行.

  SQL> INSERT INTO T VALUES (1);

  INSERT INTO T VALUES (1)

  *第 1 行呈现错误:

  ORA-00001: 违反唯一约束条件 (YANGTK.SYS_C007300)

  SQL> INSERT INTO T VALUES (NULL);

  已成立 1 行.

  SQL> INSERT INTO T VALUES (NULL);

  已成立 1 行.

  SQL> INSERT INTO T VALUES (NULL);

  已成立 1 行.

  但是当唯一约束为复合字段时,则情形发生了改变.按照Oracle文档的描写,关于复合字段的唯一约束,不为空字段的值是不能反复的.也就是说,假如两个字段构成了一个唯一约束,此中一个字段为空,那么另一个字段的值不能呈现反复.

  SQL> DROP TABLE T PURGE;

  表已删除.

  SQL> CREATE TABLE T (ID NUMBER, ID2 NUMBER);


  以上是“Oracle 数据库唯一约束中的NULL的处理-入门底子[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQL Server中利用Linkserver衔接Oracle的办法
  • Oracle数据库网络与安全FAQ精辟堆积
  • Ubuntu 9.10下安装Oracle10g
  • Ubuntu 10.04 下安装Oracle 11g
  • oracle盲注报错语句和oracle提权语句汇总
  • oracle中to_char、to_number、to_date的用法
  • Python模拟Oracle的SQL/PLUS工具的实现办法
  • Oracle数据库访谈之最年青的OCM访谈
  • oracle表数据误删复原
  • Oracle数据库笔记--表空间
  • Oracle数据库树形查询的代码示例
  • oracle中记录和调集
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .