- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle主键约束的创建,添加和删除
2010-06-27 10:40:16| 分类: learning | 标签:|字号大中小 订阅
oracle的主键约束添加删除
1、创建表的同时创建主键约束一、无命名create table accounts (accounts_number number primary key,accounts_balance number);二、有命名create table accounts (accounts_number number primary key,accounts_balance number,constraint yy primary key(accounts_number));
2、删除表中已有的主键约束一、无命名SELECT * FROM USER_CONS_COLUMNS WHERE TALBE_NAME=accounts;找出主键名ALTER TABLE ACCOUNTS DROP CONSTRAINT SYS_C003063;二、有命名ALTER TABLE ACCOUNTS DROP CONTRAINT yy;
3、向表中添加主键约束ALTER TABLE ACCOUNTS ADD CONSTRAINT PK_ACCOUNTS PRIMARY KEY(ACCOUNTS_NUMBER);
oracle中not null约束是我们用到的最多的约束之一了。我们可以在创建表时让系统自动指定not null约束的名字来创建,也可以手动的的指定not null约束的名字来创建,也可以在表创建好后手动的修改表已达到增加not null约束的目的。
下面是一个例子create table test_not_null(id number not null,name varchar2(30) ,tel varchar2(20) constraint test_not_null_tel not null);
在这里我们创建了一个表,并分别给id 和 tel两列创建了not null的约束,其中id的约束是系统自动命名的,而tel的约束使我们手动命名的。对于地二个列name,oracle系统不会自动增加not null的约束。
我们可以在这个表里面插入一行数据,例如:insert into test_not_null(id,tel) values(123,);
我们也还可以使用修改表的方式来增加not null约束。例如刚才我们没有在test_not_null上建立空值约束,我们可以现在通过修改的方式来建立alter table test_not_nullmodify(name not null);
如果你执行了刚才我们的插入数据的操作,你执行这句话的时候可能会有以下错误:ORA-02296: 无法启用 (SYS.) - 找到空值
这是因为我们刚才在插入数据时已经给name这一列增加了一个空值,现在又要在这一列上增加not null约束,显然是不行的。如果实际问题中我们真的遇到这种需求,例如对于某个字段我们认为原来可以为空,并且再该列插入了很多空值,后来我们发现实际上是不应该为空的,可能会需先将原来的空值全部更新到一个新的有统一意义的值,然后在进行空值约束的加入操作。例如我们可以这样做:update test_not_nullset name = ‘不知道’where name is null;
现在我们再增加列的not null约束是没有问题了。alter table test_not_nullmodify(name not null);
表修改
1.创建表: a. 创建xs表中计算机专业学生的备份 Create table xs_jsj as select * from xs where zym=’计算机’; b.完整的例子: Create table test (xm char(20) not null,zy varchar(30) default (‘计算机’)); -- Create table create table DEPT ( DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14),
您可能关注的文档
- MicrosoftOfficePowerPoint介绍及使用.doc
- MicrosoftSqlServer错误5123附加数据库错误.doc
- MicrosoftWord最具视觉感2012PPT.doc
- MissDally身为女性,有权利仪态万方.doc
- MIRACL用户手册(译).doc
- MIUIV5变态精简列表.doc
- MODSCAN软件使用说明.doc
- Module3-Unit1Pointtothedoor第四次优化作业.doc
- Module9Unit1IhelpedMum说课稿..doc
- molex产品介绍.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)