資源描述:
《實驗五游標(biāo)實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實驗五游標(biāo)實驗報告[實驗?zāi)康模?.了解和掌握游標(biāo)的使用;2.了解和掌握使用循環(huán)處理游標(biāo)的技術(shù);3.熟悉和鞏固PL/SQL程序設(shè)計。[預(yù)備知識]1.PL/SQL程序塊的設(shè)計2.游標(biāo)的聲明,打開,讀取,關(guān)閉3.循環(huán)處理[實驗原理]1.游標(biāo)的聲明可以通過在PL/SQL程序塊的聲明部分命名游標(biāo),將它與某個查詢關(guān)聯(lián)來定義一個游標(biāo)CURSORv游標(biāo)名>IS<SELECTstatement>;示例CURSORemp_curISSELECTempno,ename,job,salFROMemp;2.游標(biāo)的操作a.open游標(biāo)OPENv游標(biāo)名〉示例OPENemp_cur;b.fetch游標(biāo)FETCHv
2、游標(biāo)名>INTOvarl,varN;或者FETCHv游標(biāo)名>INTOrecord.variable;示例FETCHemp_curINTOmrec;c.close游標(biāo)CLOSEv游標(biāo)名〉;示例CLOSEemp_cur;3.游標(biāo)的屬性a.%NOTFOUND如果因為沒有多行而使最后的FETCH失敗,則判泄為TRUE;如果最后的FETCH返回一行,則判定為FALSE-a.%FOUND如果最后的FETCH返回一行,則判定為TRUE;如果因為沒有多行而使最后的FETCH失敗,則判定為FALSEob.%ROWCOUNT返冋當(dāng)前從活動集合獲取的行數(shù)c.%ISOPEN如果打開顯示游標(biāo),則判定為TRU
3、E;如果關(guān)閉顯示游標(biāo),則判定為FALSEc1.使用循環(huán)處理游標(biāo),下面的例程中c_class為游標(biāo),v_class為游標(biāo)列變量,即類型為c_class%rowtype;a.簡單循環(huán)openc_class;loopfetchcclassintovclass;exitwhenc_class%notfound;???endloop;closec_class;b.while循環(huán)openc_class;fetchcclassintovclass;whilec_class%foundloop???fetchc_classintov_class;endloop;closec_class;c.for
4、循環(huán)forv_classinc_classloop???endloop;[實驗內(nèi)容]1.依據(jù)實驗三的表,編寫一個程序,將讀取所有的借款,借款額大于1500,則將這個借款額增加5%;如果借款額大于800,小于等于1500,則將這個借款增加8%;如果借款額小于80,則將這個借款增加8()。2.begin3-foremp_onein(selectamountfromloan)1.loop5?ifemp_one.amount>1500then6.7.8.9.updateloansetamount=amount*1.05endif;whereamount=emp_one.amount;10.
5、ifemp_one.amount<1500oremp_one.amount>80010.Then12-updateloan13.setamount=amount*1.0814?whereamount=emp_one.amount;15.16?dbms_oulpul?pul_line('yuangongl
6、emp_one?amounl*1?0&);17.endif;18.ifemp_one.amount<80then19.updateloan20.setamount=amount+8021?whereamount=emp_one.amount:22.23.dbms_output.pu
7、t」ine('yuangong'
8、
9、einp_one?amount+80);24.endif;25.25.endloop;26.end;2.先查詢借款表,記錄借款表的數(shù)據(jù);運行這個程序,然后再查詢借款表,看看結(jié)果。oLOAN.NUMBERBRANCHJ4AMEAMOUNT?1-11RoundHill900L-14Downtown1500L-15Perryndge1500L-16Perryndge1300L-17Downtown1000L-23Redwood20001:1Rowlof9t0talr(MsSYST曰4IDORCL■Modified令
10、loanmjmber
11、branch.
12、nameAMOUNTTL-ll[RoundHillL-14Downtown1701L-15Perryridge1701L-16Perryridge788.4L-17Downtown1166.4L-23Redwood1166.4L-93Mianus626.4L-20NorthTown8268.75[實驗總結(jié)]1游標(biāo)的使用中碰到的問題游標(biāo)的作用相當(dāng)于指針,通過游標(biāo)程序設(shè)計語言可以一次處理查詢結(jié)果集中的一行,而游標(biāo)分為顯示游標(biāo)和隱式游標(biāo),而執(zhí)行一個sql語句,oracle會