oracle 游標(biāo)使用大全_第1頁(yè)
已閱讀1頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、acle游標(biāo)使用大全游標(biāo)使用大全語(yǔ)句用于從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù),當(dāng)在PLSQL中使用語(yǔ)句時(shí),要與INTO子句一起使用,查詢的返回值被賦予INTO子句中的變量,變量的聲明是在DELCARE中。INTO語(yǔ)法如下:[DISTICT|ALL]|column[column...]INTO(variable[variable...]|recd)FROMtable|(subquery)[alias]WHERE............PLSQL中語(yǔ)句只返回

2、一行數(shù)據(jù)。如果超過(guò)一行數(shù)據(jù),那么就要使用顯式游標(biāo)(對(duì)游標(biāo)的討論我們將在后面進(jìn)行),INTO子句中要有與子句中相同列數(shù)量的變量。INTO子句中也可以是記錄變量。%TYPE屬性在PLSQL中可以將變量和常量聲明為內(nèi)建或用戶定義的數(shù)據(jù)類型,以引用一個(gè)列名,同時(shí)繼承他的數(shù)據(jù)類型和大小。這種動(dòng)態(tài)賦值方法是非常有用的,比如變量引用的列的數(shù)據(jù)類型和大小改變了,如果使用了%TYPE那么用戶就不必修改代碼,否則就必須修改代碼。例:v_empnoSCOTT

3、.EMP.EMPNO%TYPEv_salaryEMP.SALARY%TYPE不但列名可以使用%TYPE而且變量、游標(biāo)、記錄,或聲明的常量都可以使用%TYPE。這對(duì)于定義相同數(shù)據(jù)類型的變量非常有用。DELCAREV_ANUMBER(5):=10V_BV_A%TYPE:=15V_CV_A%TYPEBEGINDBMS_OUTPUT.PUT_LINE(V_A=||V_A||V_B=||V_B||V_C=||V_C)ENDSQLV_A=10V_B

4、=15V_C=PLSQLproceduresuccessfullycompleted.SQL其他DML語(yǔ)句其它操作數(shù)據(jù)的DML語(yǔ)句是:、UPDATE、和LOCKTABLE這些語(yǔ)句在PLSQL中的語(yǔ)法與在SQL中的語(yǔ)法相同。我們?cè)谇懊嬉呀?jīng)討論過(guò)DML語(yǔ)句的使用這里就不再重復(fù)了。在DML語(yǔ)句中可以使用任何在DECLARE部分聲明的變量,如果是嵌套塊,那么要注意變量的作用范圍。例:CREATEREPLACEPROCEDUREFIRE_EMPL

5、OYEE(pempnoinnumber)ASv_enameEMP.ENAME%TYPEBEGINenameINTOv_enameFROMempWHEREempno=p_empnoINTOFMER_EMP(EMPNOENAME)VALUES(p_empnov_ename)empWHEREempno=p_empno例:DELCARECURSC_EMPISempnoenamesalaryFROMempWHEREsalary2000DERBYe

6、name........BEGIN在游標(biāo)定義中語(yǔ)句中不一定非要表可以是視圖,也可以從多個(gè)表或視圖中選擇的列,甚至可以使用來(lái)選擇所有的列。打開(kāi)游標(biāo)使用游標(biāo)中的值之前應(yīng)該首先打開(kāi)游標(biāo),打開(kāi)游標(biāo)初始化查詢處理。打開(kāi)游標(biāo)的語(yǔ)法是:OPENcurs_namecurs_name是在聲明部分定義的游標(biāo)名。例:OPENC_EMP關(guān)閉游標(biāo)語(yǔ)法:CLOSEcurs_name例:CLOSEC_EMP從游標(biāo)提取數(shù)據(jù)從游標(biāo)得到一行數(shù)據(jù)使用FETCH命令。每一次提

7、取數(shù)據(jù)后,游標(biāo)都指向結(jié)果集的下一行。語(yǔ)法如下:FETCHcurs_nameINTOvariable[variable...]對(duì)于定義的游標(biāo)的每一列,F(xiàn)ETCH變量列表都應(yīng)該有一個(gè)變量與之相對(duì)應(yīng),變量的類型也要相同。例:SETSERVERIUTPUTONDECLAREv_enameEMP.ENAME%TYPEv_salaryEMP.SALARY%TYPECURSc_empISenamesalaryFROMempBEGINOPENc_emp

8、FETCHc_empINTOv_enamev_salaryDBMS_OUTPUT.PUT_LINE(SalaryofEmployee||v_ename||is||v_salary)FETCHc_empINTOv_enamev_salaryDBMS_OUTPUT.PUT_LINE(SalaryofEmployee||v_ename||is||v_salary)FETCHc_empINTOv_enamev_salaryDBMS_OUTPUT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論