欢迎来到天天文库
浏览记录
ID:38531231
大小:24.04 KB
页数:7页
时间:2019-06-14
《魔鬼式oracle训练第一周总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、sELECT*FROMqj_test;恢复数据createtableqj_test2asselect*fromqj_testasofTIMESTAMPto_timestamp('2012071116','yyyymmddhh24');CREATETABLEqj_test3(autoidNUMBER(30)NOTNULLPRIMARYKEY,NAMECHAR(30)NOTNULL,IDNUMBER(10)NOTNULL,addressCHAR(50)NOTNULL)CREATESEQUENCEtemsequ
2、enceMINVALUE1MAXVALUE99999999STARTWITH1INCREMENTBY3NOCACHE;DROPSEQUENCEtemsequenceINSERTINTOqj_test3VALUES('123','qijin',temseq.nextval,'123');INSERTINTOqj_test3VALUES(temseq.nextval,'qijin','123','123');//values这六个字母一定要打 正确否则会有不必要的麻烦SELECTSYSDATEFROMdual
3、INT类型是NUMBER类型的子类型commit的使用如何解决ORA-00054资源正忙,要求指定NOWAIT/////杀掉进程或者等待执行结束CREATESEQUENCEtemyearMINVALUE1MAXVALUE999999STARTWITH2009INCREMENTBY1NOCACHE;commit之前其他账号不能看到你更新的数据了UPDATEqj_test3SETbirth=temyear.nextvalWHEREautoid='25';COMMIT;CURRVAL必须在取了NEXTVAL之后
4、才有效。它只表示当前SESSION最后一次取值,不表示这个SEQUENCE(被多个SESSION使用)的当前值。SELECTtemyear.nextvalFROMdual//查询到temyear的下一个数值每查询一次值修改一次不同的数据库中也成立可以说是同步的SELECTtemyear.nextval-10FROMdual可以进行计算SELECTtemseq.currvalFROMdual不能一开始就用需要初始化一下=====第一次执行的时候要next 初始化一下(oracle规定)第一个循环体的使用DE
5、CLARECOUNTNUMBER:=1;countidNUMBER:=16;LOOPCOUNT:=COUNT+1;EXITWHENCOUNT>6;UPDATEqj_test3SETbirth=temyear.nextvalWHEREbirth='null';COMMIT;ENDLOOP;DECLAREv_COUNTNUMBER:=1;countidNUMBER:=16;BEGINWHILEv_COUNT<=6LOOPUPDATEqj_test3SETbirth=temyear.nextvalWHEREau
6、toid=countid;v_COUNT:=v_COUNT+1;countid:=countid+3;COMMIT;ENDLOOP;END;//为什么用exitwhen不行!(没有找到解决办法)ALTERTABLEqj_test3ADDSNONUMBER(20)//给qj_test3这张表添加了一个属性ALTERTABLEqj_test3DROPCOLUMNSNO//给qj_test3这张表删除了一个属性CREATEORREPLACETRIGGERtrg_testBEFOREINSERTONqj_test
7、3FOREACHROWBEGINSELECTtemseq.nextvalINTO:new.autoidFROMdual;//new.这个很关键!!ENDtrg_testSELECT*FROMAll_TriggersaWHEREa.table_name='QJ_TEST3';//查询表对应的触发器也可在myobjects里查看triggers就可以看到所有的触发器了!每张表最多可建立12种类型的触发器,它们是:BEFOREINSERTBEFOREINSERTFOREACHROWAFTERINSERTAFTE
8、RINSERTFOREACHROWBEFOREUPDATEBEFOREUPDATEFOREACHROWAFTERUPDATEAFTERUPDATEFOREACHROWBEFOREDELETEBEFOREDELETEFOREACHROWAFTERDELETEAFTERDELETEFOREACHROW1.执行BEFORE语句级触发器;2.对与受语句影响的每一行:l执行BEFORE行级触发器l执行DML语句l执行AFTER行级触发器
此文档下载收益归作者所有