資源描述:
《Oracle引航課程 第9課 PLSQL入門-存儲過程和函數(shù)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
數(shù)據(jù)庫引航第9課—Pl/SQL存儲過程和函數(shù)2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
1法律聲明【聲明】本視頻和幻燈片為煉數(shù)成金網(wǎng)絡(luò)課程的教學(xué)資料,所有資料只能在課程內(nèi)使用,不得在課程以外范圍散播,違者將可能被追究法律和經(jīng)濟(jì)責(zé)任。課程詳情訪問煉數(shù)成金培訓(xùn)網(wǎng)站http://edu.dataguru.cn2012.11.12DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站2
2Pl/SQL---ProcedureLanguage?匿名Pl/SQL塊–動態(tài)構(gòu)造,只能執(zhí)行一次?存儲過程,函數(shù),觸發(fā)器–存儲在數(shù)據(jù)庫中編譯過的代碼,可以反復(fù)執(zhí)行。2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
3從最簡單的Pl/SQL開始2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
4Hello,world!2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
5循環(huán)插入2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
6定義變量的匿名Pl/SQL塊2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
7游標(biāo)-cursor游標(biāo)是一個指向上下文的句柄(handle)或指針。通過游標(biāo),PL/SQL可以控制上下文區(qū)和處理語句時上下文區(qū)會發(fā)生些什么事情。2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
8存儲過程?編譯好的PL/SQL塊,有自己的名稱,保存在數(shù)據(jù)庫中可以被調(diào)用執(zhí)行。?可以輸入?yún)?shù)2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
9語法CREATE[ORREPLACE]PROCEDUREProcedure_name[(argment[{IN|INOUT}]Type,argment[{IN|OUT|INOUT}]Type]{IS|AS}<類型.變量的說明>BEGIN<執(zhí)行部分>EXCEPTION<可選的異常錯誤處理程序>END;2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
10一個簡單的存儲過程?刪除指定員工記錄CREATEORREPLACEPROCEDUREDelEmp(v_empnoINemp.empno%TYPE)ASNo_resultEXCEPTION;BEGINDELETEFROMempWHEREempno=v_empno;IFSQL%NOTFOUNDTHENRAISEno_result;ENDIF;DBMS_OUTPUT.PUT_LINE('編碼為'||v_empno||'的員工已被除名!');EXCEPTIONWHENno_resultTHENDBMS_OUTPUT.PUT_LINE('你需要的數(shù)據(jù)不存在!');WHENOTHERSTHENDBMS_OUTPUT.PUT_LINE('發(fā)生其它錯誤!');ENDDelEmp;2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
11存儲過程的參數(shù)--IN,OUT,INOUTCREATEORREPLACEPROCEDUREModeTest(p_InParameterINNUMBER,p_OutParameterOUTNUMBER,p_InOutParameterINOUTNUMBER)ISv_LocalVariableNUMBER;BEGINv_LocalVariable:=p_InParameter;--Legalp_InParameter:=7;--Illegalp_OutParameter:=7;--Legalv_LocalVariable:=p_outParameter;--Illegalv_LocalVariable:=p_InOutParameter;--Legalp_InOutParameter:=7;--LegalENDModeTest;/2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
12動態(tài)SQL2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
13動態(tài)SQL2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
14動態(tài)SQL2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
15函數(shù)?函數(shù)要返回一個結(jié)果。?函數(shù)可以在SQL語句中調(diào)用。CREATE[ORREPLACE]FUNCTIONfunction_name[(argment[{IN|INOUT}]type,argment[{IN|OUT|INOUT}]type]RETURNreturn_type{IS|AS}<類型.變量的說明>BEGINFUNCTION_bodyEXCEPTION 其它語句END;2012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
16一個簡單的函數(shù)--加法SQL>ed已寫入fileafiedt.buf1createorreplacefunctionmysum(ainnumber,binnumber)2returnnumberis3v_sumnumber;4begin5v_sum:=a+b;6returnv_sum;7*endmysum;SQL>/函數(shù)已創(chuàng)建。SQL>selectmysum(1,2)fromdual;MYSUM(1,2)----------32012.10.15DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站
17煉數(shù)成金逆向收費(fèi)式網(wǎng)絡(luò)課程?Dataguru(煉數(shù)成金)是專業(yè)數(shù)據(jù)分析網(wǎng)站,提供教育,媒體,內(nèi)容,社區(qū),出版,數(shù)據(jù)分析業(yè)務(wù)等服務(wù)。我們的課程采用新興的互聯(lián)網(wǎng)教育形式,獨創(chuàng)地發(fā)展了逆向收費(fèi)式網(wǎng)絡(luò)培訓(xùn)課程模式。既繼承傳統(tǒng)教育重學(xué)習(xí)氛圍,重競爭壓力的特點,同時又發(fā)揮互聯(lián)網(wǎng)的威力打破時空限制,把天南地北志同道合的朋友組織在一起交流學(xué)習(xí),使到原先孤立的學(xué)習(xí)個體組合成有組織的探索力量。并且把原先動輒成千上萬的學(xué)習(xí)成本,直線下降至百元范圍,造福大眾。我們的目標(biāo)是:低成本傳播高價值知識,構(gòu)架中國第一的網(wǎng)上知識流轉(zhuǎn)陣地。?關(guān)于逆向收費(fèi)式網(wǎng)絡(luò)的詳情,請看我們的培訓(xùn)網(wǎng)站http://edu.dataguru.cn2012.11.12DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站18
18ThanksFAQ時間DATAGURU專業(yè)數(shù)據(jù)分析網(wǎng)站