【INDEX】Oracle中主键、唯一约束与唯一索引之区别.docxVIP

【INDEX】Oracle中主键、唯一约束与唯一索引之区别.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle中主键、唯一约束与唯一索引之区别 概述 一般在Oracle数据表中,我们都会看到主键,索引,也会看到唯一索引、唯一约束,那么他们有什么区别呢,下面通过一个小实验简单了解一下。 实验过程: 首先创建一个表,并完成主键、唯一约束、唯一索引的创建,如下所示: SQL--数据库版本 SQL select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi PL/SQL Release 10.2.0.5.0 - Production CORE 10.2.0.5.0 Production TNS for Linux: Version 10.2.0.5.0 - Production NLSRTL Version 10.2.0.5.0 – Production SQL conn firsoul/firsoul Connected. SQL --创建测试表 SQL create table test (tno number(5),tname varchar2(20),tid int); Table created. SQL--添加主键 SQL alter table test add constraint pk_test_tno primary key(tno); Table altered. SQL--添加唯一约束 SQL alter table test add constraint uk_test_tname unique(tname); Table altered. SQL--添加唯一索引 SQL create unique index idx_test_tid on test(tid); Index created. 向表TEST中插入数据,测试 SQL insert into test values(1,firsoul,123); 1 row created. SQL 1 1* insert into test values(1,firsoul,123) SQL / insert into test values(1,firsoul,123) * ERROR at line 1: ORA-00001: unique constraint (FIRSOUL.PK_TEST_TNO) violated SQL insert into test values(2,firsoul,123456); insert into test values(2,firsoul,123456) * ERROR at line 1: ORA-00001: unique constraint (FIRSOUL.UK_TEST_TNAME) violated SQL insert into test values(2,ljx,123); insert into test values(2,ljx,123) * ERROR at line 1: ORA-00001: unique constraint (FIRSOUL.IDX_TEST_TID) violated SQL insert into test values(null,ljx,124); insert into test values(null,ljx,124) * ERROR at line 1: ORA-01400: cannot insert NULL into (FIRSOUL.TEST.TNO) SQL insert into test values(2,null,null); 1 row created. SQL commit; Commit complete. 有以上信息,我们可以看出主键列的值不允许为NULL,也不允许出现重复值,唯一约束、唯一索引列的值允许为NULL,但不允许出现重复值。 查看字典表中约束的情况 SQL set lines 150 SQL col table_name for a15 SQL col column_name for a15 SQL col constraint_name for a20 SQL select table_name,column_name,constraint_name from user_cons_columns where table_name=upper(test); TABLE_NA

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档