欢迎来到天天文库
浏览记录
ID:11292357
大小:83.50 KB
页数:12页
时间:2018-07-11
《oracle主键约束的创建,添加和删除》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle主键约束的创建,添加和删除2010-06-2710:40:16
2、分类:learning
3、标签:
4、字号大中小订阅oracle的主键约束添加删除1、创建表的同时创建主键约束一、无命名createtableaccounts(accounts_numbernumberprimarykey,accounts_balancenumber);二、有命名createtableaccounts(accounts_numbernumberprimarykey,accounts_balancenumber,constrai
5、ntyyprimarykey(accounts_number));2、删除表中已有的主键约束一、无命名SELECT*FROMUSER_CONS_COLUMNSWHERETALBE_NAME='accounts';找出主键名ALTERTABLEACCOUNTSDROPCONSTRAINTSYS_C003063;二、有命名ALTERTABLEACCOUNTSDROPCONTRAINTyy;3、向表中添加主键约束ALTERTABLEACCOUNTSADDCONSTRAINTPK_ACCOUNTSPRIMARYKEY(A
6、CCOUNTS_NUMBER);oracle中notnull约束是我们用到的最多的约束之一了。我们可以在创建表时让系统自动指定notnull约束的名字来创建,也可以手动的的指定notnull约束的名字来创建,也可以在表创建好后手动的修改表已达到增加notnull约束的目的。下面是一个例子createtabletest_not_null(idnumbernotnull,namevarchar2(30),telvarchar2(20)constrainttest_not_null_telnotnull);在这里我们创
7、建了一个表,并分别给id和tel两列创建了notnull的约束,其中id的约束是系统自动命名的,而tel的约束使我们手动命名的。对于地二个列name,oracle系统不会自动增加notnull的约束。我们可以在这个表里面插入一行数据,例如:insertintotest_not_null(id,tel)values(123,’88888888′);我们也还可以使用修改表的方式来增加notnull约束。例如刚才我们没有在test_not_null上建立空值约束,我们可以现在通过修改的方式来建立altertablete
8、st_not_nullmodify(namenotnull);如果你执行了刚才我们的插入数据的操作,你执行这句话的时候可能会有以下错误:ORA-02296:无法启用(SYS.)-找到空值这是因为我们刚才在插入数据时已经给name这一列增加了一个空值,现在又要在这一列上增加notnull约束,显然是不行的。如果实际问题中我们真的遇到这种需求,例如对于某个字段我们认为原来可以为空,并且再该列插入了很多空值,后来我们发现实际上是不应该为空的,可能会需先将原来的空值全部更新到一个新的有统一意义的值,然后在进行空值约束的加
9、入操作。例如我们可以这样做:updatetest_not_nullsetname=‘不知道’wherenameisnull;现在我们再增加列的notnull约束是没有问题了。altertabletest_not_nullmodify(namenotnull);表修改1.创建表:a.创建xs表中计算机专业学生的备份Createtablexs_jsjasselect*fromxswherezym=’计算机’;b.完整的例子: Createtabletest(xmchar(20)notnull,zyvarcha
10、r(30)default(‘计算机’));--CreatetablecreatetableDEPT(DEPTNONUMBER(2)notnull,DNAMEVARCHAR2(14),LOCVARCHAR2(13))tablespaceUSERSpctfree10initrans1maxtrans255storage(initial64Kminextents1maxextentsunlimited);--Create/Recreateprimary,uniqueandforeignkeyconstraintsalt
11、ertableDEPTaddconstraintPK_DEPTprimarykey(DEPTNO)usingindextablespaceUSERSpctfree10initrans2maxtrans255storage(initial64Kminextents1maxextentsunlimited);c.规则 Altertable命令有许多选项,一个记住语法的方
此文档下载收益归作者所有