資源描述:
《ORACLE存儲(chǔ)過程開發(fā)基礎(chǔ)語法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、1、創(chuàng)建存儲(chǔ)過程createorreplaceproceduretest(var_name_1intype,var_name_2outtype)as--聲明變量(變量名變量類型)begin--存儲(chǔ)過程的執(zhí)行體endtest;打印出輸入的時(shí)間信息E.g:createorreplaceproceduretest(workDateinDate)isbegindbms_output.putline('Theinputdateis:'
2、
3、to_date(workDate,'yyyy-mm-dd&apo
4、s;));endtest;2、變量賦值變量名:=值;E.g:createorreplaceproceduretest(workDateinDate)isxnumber(4,2);beginx:=1;endtest;3、判斷語句:if比較式thenbeginend;endif;E.gcreateorreplaceproceduretest(xinnumber)isbeginifx>0thenbeginx:=0-x;end;endif;ifx=0thenbeginx:=1;end;endif;endtest;4、For循環(huán)F
5、or...in...LOOP--執(zhí)行語句endLOOP;(1)循環(huán)遍歷游標(biāo)createorreplaceproceduretest()asCursorcursorisselectnamefromstudent;namevarchar(20);beginfornameincursorLOOPbegindbms_output.putline(name);end;endLOOP;endtest;(2)循環(huán)遍歷數(shù)組createorreplaceproceduretest(varArrayinmyPackage.TestArray
6、)as--(輸入?yún)?shù)varArray是自定義的數(shù)組類型,定義方式見標(biāo)題6)inumber;begini:=1;--存儲(chǔ)過程數(shù)組是起始位置是從1開始的,與java、C、C++等語言不同。因?yàn)樵贠racle中本是沒有數(shù)組的概念的,數(shù)組其實(shí)就是一張--表(Table),每個(gè)數(shù)組元素就是表中的一個(gè)記錄,所以遍歷數(shù)組時(shí)就相當(dāng)于從表中的第一條記錄開始遍歷foriin1..varArray.countLOOPdbms_output.putline('TheNo.'
7、
8、i
9、
10、'recordinvarArra
11、yis:'
12、
13、varArray(i));endLOOP;endtest;5、While循環(huán)while條件語句LOOPbeginend;endLOOP;E.gcreateorreplaceproceduretest(iinnumber)asbeginwhilei<10LOOPbegini:=i+1;end;endLOOP;endtest;6、數(shù)組首先明確一個(gè)概念:Oracle中本是沒有數(shù)組的概念的,數(shù)組其實(shí)就是一張表(Table),每個(gè)數(shù)組元素就是表中的一個(gè)記錄。使用數(shù)組時(shí),用戶可以使用Oracle已經(jīng)定義好的數(shù)
14、組類型,或可根據(jù)自己的需要定義數(shù)組類型。(1)使用Oracle自帶的數(shù)組類型xarray;--使用時(shí)需要需要進(jìn)行初始化e.g:createorreplaceproceduretest(youtarray)isxarray;beginx:=newarray();y:=x;endtest;(2)自定義的數(shù)組類型(自定義數(shù)據(jù)類型時(shí),建議通過創(chuàng)建Package的方式實(shí)現(xiàn),以便于管理)E.g(自定義使用參見標(biāo)題4.2)createorreplacepackagemyPackageis--Publictypedeclarations
15、typeinfoisrecord(namevarchar(20),ynumber);typeTestArrayistableofinfoindexbybinary_integer;--此處聲明了一個(gè)TestArray的類型數(shù)據(jù),其實(shí)其為一張存儲(chǔ)Info數(shù)據(jù)類型的Table而已,及TestArray就是一張表,有兩個(gè)字段,一個(gè)是name,一個(gè)是y。需要注意的是此處使用了Indexbybinary_integer編制該Table的索引項(xiàng),也可以不寫,直接寫成:typeTestArrayistableofinfo,如果不寫的話
16、使用數(shù)組時(shí)就需要進(jìn)行初始化:varArraymyPackage.TestArray;varArray:=newmyPackage.TestArray();endTestArray;7.游標(biāo)的使用Oracle中Cursor是非常有用的,用于遍歷臨時(shí)表中的查詢結(jié)果。其相關(guān)方法和屬性也很多,現(xiàn)僅就常用的用法做一二介紹:(1