歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

LSQL-清華大學(xué)計(jì)算中心ORACLE培訓(xùn)資料.ppt

  • 資源ID:11497398       資源大?。?span id="zidicqs" class="font-tahoma">113KB        全文頁數(shù):28頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

LSQL-清華大學(xué)計(jì)算中心ORACLE培訓(xùn)資料.ppt

Oracle9iPL/SQL程序設(shè)計(jì),ProceduralLanguage,PL/SQL程序設(shè)計(jì),2,PL/SQL概述,PL/SQL是Oracle對(duì)關(guān)系數(shù)據(jù)庫語言SQL的過程化擴(kuò)充,它將數(shù)據(jù)庫技術(shù)和過程化程序設(shè)計(jì)語言聯(lián)系起來,是一種應(yīng)用開發(fā)語言,可使用循環(huán),分支處理數(shù)據(jù),將SQL的數(shù)據(jù)操縱功能與過程化語言數(shù)據(jù)處理功能結(jié)合起來.PL/SQL的使用,使SQL成為一種高級(jí)程序設(shè)計(jì)語言,支持高級(jí)語言的塊操作,條件判斷,循環(huán)語句,嵌套等,與數(shù)據(jù)庫核心的數(shù)據(jù)類型集成,使SQL的程序設(shè)計(jì)效率更高.PL/SQL是一種塊結(jié)構(gòu)語言,構(gòu)成PL/SQL的基本單位是邏輯塊,塊中可以嵌套子塊,以塊為單位向OracleServer傳遞數(shù)據(jù)執(zhí)行,其塊結(jié)構(gòu)如下:DECLAREBEGINEXCEPTIONEND;,說明部分:說明變量及常量,執(zhí)行部分:使用SQL的DML語言事務(wù)處理,例外處理:處理錯(cuò)誤及警告信息,邏輯塊結(jié)束,PL/SQL程序設(shè)計(jì),3,PL/SQL語言的特點(diǎn),PL/SQL中可以定義變量,變量有其作用范圍PL/SQL是以塊的方式設(shè)計(jì),塊中可以嵌套子塊,子塊可以位于塊中任何部分子塊可以是PL/SQL中的一條命令PL/SQL中可以使用條件判斷,循環(huán),游標(biāo)等高級(jí)語言程序設(shè)計(jì)方法模塊式的過程化語言,以塊為單位執(zhí)行使用PL/SQL可以優(yōu)化程序設(shè)計(jì),得到更好的性能(例如,執(zhí)行10個(gè)SQL語句,需要訪問10次Oracle核心,如果10個(gè)SQL組成一個(gè)PL/SQL程序,則只需訪問一次Oracle核心,將結(jié)果一次返回給用戶,則程序執(zhí)行效率高,節(jié)省時(shí)間,降低通信量),PL/SQL程序設(shè)計(jì),4,減少對(duì)于Oracle核心的訪問,降低網(wǎng)絡(luò)負(fù)責(zé)數(shù)據(jù)庫數(shù)據(jù)類型集成PL/SQL支持全部的SQL數(shù)據(jù)類型,這些共享的數(shù)據(jù)類型與SQL所提供的直接存取相結(jié)合,使PL/SQL與Oracle數(shù)據(jù)字典結(jié)合成一體.PL/SQL與OracleRDBMS集成在一起,可以使用PL/SQL的集成數(shù)據(jù)類型,使變量的數(shù)據(jù)類型在數(shù)據(jù)庫的操作中實(shí)時(shí)確定.,PL/SQL語言的特點(diǎn),PL/SQL程序設(shè)計(jì),5,PL/SQL與SQL語言結(jié)合,PL/SQL語句含有SQL的DML語句,檢索及事務(wù)處理PL/SQL中可以使用的SQL語句如下:INSERTUPDATEDELETESELECTINTOCOMMITROLLBACKSAVEPOINT支持RDBMS的所有數(shù)據(jù)類型對(duì)于SQL的數(shù)據(jù)類型進(jìn)行了擴(kuò)充,增加了新的數(shù)據(jù)類型,使PL/SQL所支持的數(shù)據(jù)類型更靈活.OracleRDBMS對(duì)于PL/SQL中引用的表名,列名進(jìn)行語句檢查對(duì)于SQL語句的執(zhí)行結(jié)果,PL/SQL提供返回信息檢查,通過PL/SQL的例外處理,記錄SQL的執(zhí)行結(jié)果.,PL/SQL程序設(shè)計(jì),6,PL/SQL基礎(chǔ),變量的使用和其他高級(jí)語言一樣,在PL/SQL中可以使用變量注釋單行注釋:-多行注釋:/*/數(shù)據(jù)類型日期型Date字符型CHAR,VARCHAR2數(shù)字型NUMBER布爾型BOOLEAN(TRUE,FALSE,NULL),數(shù)據(jù)類型,PL/SQL數(shù)據(jù)類型擴(kuò)展,數(shù)字型NUMBER存儲(chǔ)整型及實(shí)型數(shù)據(jù),可以定義精度和取值范圍BINARY_INTEGER可存儲(chǔ)帶符號(hào)整數(shù),為整數(shù)計(jì)算優(yōu)化性能DECNUMBER的子類型,存儲(chǔ)實(shí)型數(shù)據(jù)DOUBLEPRECISIONNUMBER的子類型,高精度實(shí)數(shù)INTEGERNUMBER的子類型,整數(shù)INTNUMBER的子類型,整數(shù),PL/SQL數(shù)據(jù)類型擴(kuò)展,數(shù)字型SMALLINTNUMBER的子類型,取值范圍比INTEGER小NUMERICNUMBER的子類型,與NUMBER等價(jià)REALNUMBER的子類型,存儲(chǔ)實(shí)型數(shù)據(jù),PL/SQL數(shù)據(jù)類型擴(kuò)展,字符型VARCHAR2存放可變長字符串,有最大長度限制CHAR字符型,固定長度LONG長字符型CLOB大對(duì)象字符(Oracle8、Oracle8i)日期型Date存儲(chǔ)日期數(shù)據(jù),PL/SQL數(shù)據(jù)類型擴(kuò)展,布爾型BOOLEAN結(jié)果是TRUE或FALSE二進(jìn)制數(shù)據(jù)RAW存儲(chǔ)多媒體數(shù)據(jù),如圖象、聲音、視頻等BLOB大對(duì)象如圖象、聲音、視頻等(Oracle8、Oracle8i),PL/SQL程序設(shè)計(jì),11,PL/SQL基礎(chǔ),數(shù)據(jù)定義標(biāo)示符數(shù)據(jù)類型;標(biāo)示符數(shù)據(jù)類型:=PL/SQL表達(dá)式;例如,v_salarynumber(7,2);v_enamevarchar2(20):=SMITH;,PL/SQL程序設(shè)計(jì),12,PL/SQL基礎(chǔ),變量賦值變量名:=值;v_salary:=890.76;v_date:=25-MAR-99;Available_now:=FALSE;%TYPE類型CreditReal(7,2);DebitCredit%TYPE;My_nameEmployee.ename%TYPE;%TYPE屬性+不必知道My_name的真正數(shù)據(jù)類型+當(dāng)數(shù)據(jù)庫中列ename列定義改變時(shí),數(shù)據(jù)庫運(yùn)行時(shí)自動(dòng)修改%ROWTYPE:行類型,PL/SQL程序設(shè)計(jì),13,PL/SQL基礎(chǔ),PL/SQL的記錄類型把邏輯相關(guān)的數(shù)據(jù)作為一個(gè)單元存儲(chǔ)起來,在Declare段中定義record類型數(shù)據(jù),使某一變量使用該record型數(shù)據(jù)定義方法:TYPEr_recordisRECORD(v_nameemp.ename%TYPE,v_jobemp.job%TYPE,v_salemp.sal%TYPE);變量定義r_empr_record;變量使用SELECTename,job,salINTOr_empFROMempWHEREempno=7934;則,r_emp.v_ename,r_emp.v_job,r_emp.v_sal已有值;給變量賦值:r_employeer_record;r_employee.v_ename:=JACK;r_employee.v_job:=CLERK;r_employee.v_sal:=890.98;,PL/SQL程序設(shè)計(jì),PL/SQL程序設(shè)計(jì),14,PL/SQL基礎(chǔ),TABLE類型數(shù)據(jù)PL/SQL中的表(table)類型類似于語言中的結(jié)構(gòu)類型數(shù)組定義方法:TYPEtable_empISTABLEOFemp.ename%TYPEINDEXBYBINARY_INTEGER;一個(gè)PL/SQL表有兩個(gè)列,(key,value),key列類型即是BINARY_INTEGER,而value類型則是所定義的數(shù)據(jù)類型Table類型使用:定義變量my_name為table_emp類型,則可以使用變量my_name,也可以在SQL語句中使用table類型變量my_nametable_emp;my_name(0):=SCOTT;my_name(1):=SMITH;my_name(2):=SUSAN;SELECTenameINTOmy_name(10)FROMempWHEREempno=7934;,PL/SQL程序設(shè)計(jì),15,在PL/SQL中使用SQL,INSERT語句的使用Declarev_empnoEMP.empno%TYPE:=1234;v_enameEMP.ename%TYPE:=SCOTT;v_jobVARCHAR2(15):=MANAGER;v_deptnoEMP.deptno%TYPE:=20;v_salNUMBER(7,2):=890.50;BeginINSERTINTOemp(empno,ename,job,hiredate,sal,deptno)VALUES(v_empno,v_ename,v_job,SYSDATE,v_sal,v_deptno);END;/,注意:非空(NOTNULL)必須有值,NOTNULL,PL/SQL程序設(shè)計(jì),16,PL/SQL中使用SQL,DELETE語句的使用Declarev_empnoEMP.empno%TYPE:=1234;BeginDELETEFROMempWHEREempno=v_empno;End;事務(wù)處理語句的使用在PL/SQL中可以使用SQL的COMMIT,ROLLBACK及SAVEPOINT語句Declarev_empnoEMP.empno%TYPE:=1234;BeginDELETEFROMempWHEREempno=v_empno;COMMIT;End;/,PL/SQL程序設(shè)計(jì),條件控制語句,IF-THEN語句IF條件成立THEN可執(zhí)行語句;ENDIF;,條件控制語句,IF-THEN-ELSE語句IF條件成立THEN執(zhí)行語句1;ELSE執(zhí)行語句2;ENDIF;,條件控制語句,IF-THEN-ELSIF語句IF條件1成立THEN執(zhí)行語句1;ELSIF條件2成立THEN執(zhí)行語句2;ELSIF條件3成立THEN執(zhí)行語句3;.ENDIF;,循環(huán)語句,基本循環(huán)LOOP執(zhí)行語句;EXITWHEN條件成立;ENDLOOP;,循環(huán)語句,WHILE循環(huán)WHILE條件成立LOOP執(zhí)行語句;ENDLOOP;,循環(huán)語句,FOR循環(huán)FOR計(jì)數(shù)器IN低界.高界LOOP執(zhí)行語句;ENDLOOP;,PL/SQL程序設(shè)計(jì),23,光標(biāo)(CURSOR)設(shè)計(jì),什么是光標(biāo)光標(biāo)使用光標(biāo)說明:在Declare段中命名光標(biāo),將光標(biāo)與一查詢語句聯(lián)系起來.語法:CURSOR光標(biāo)名(參數(shù))ISSELECT字句;打開光標(biāo)獲取活動(dòng)集中的行FETCH語句檢索活動(dòng)集中的行,每次一行,每執(zhí)行一次FECTCH,光標(biāo)前進(jìn)到活動(dòng)集中的下一行。光標(biāo)下移關(guān)閉光標(biāo),PL/SQL程序設(shè)計(jì),24,光標(biāo)屬性,光標(biāo)屬性每一個(gè)光標(biāo)有四種屬性%FOUND查詢語句(FETCH語句)返回記錄%NOTFOUND查詢語句(FETCH語句)無返回記錄,用于循環(huán)退出條件%ROWCOUNTFETCH已獲取的記錄數(shù)%ISOPEN光標(biāo)已打開標(biāo)記ifnotC%ISOPENthenopenC;endif;,LoopFETCHCINTOv_ename,v_sal;EXITWHENC%NOTFOUND;ENDLOOP;,屬性使用,PL/SQL程序設(shè)計(jì),25,隱式光標(biāo)處理,隱式光標(biāo)處理隱式光標(biāo)是指在處理SQL時(shí),不需定義光標(biāo),所使用的SQL語句包括:INSERT,UPDATE,DELETE子句。隱式光標(biāo)屬性SQL%FOUNDSQL%NOTFOUND由執(zhí)行上述語句結(jié)果引起SQL%ROWCOUNT隱式光標(biāo)的使用Beginupdateempsetsal=1200whereempno=1234;ifSQL%NOTFOUNDtheninsertintoErrors(empno,sal)values(1234,1200);endif;End;,數(shù)據(jù)庫中沒有編碼為1234的職工,PL/SQL程序設(shè)計(jì),26,例外處理(EXCEPTION),在PL/SQL中,警告信息、出錯(cuò)信息、或返回信息統(tǒng)稱為例外(Exception)。有兩中類型的例外。Oracle預(yù)定義的例外:是由PL/SQL運(yùn)行過程中,系統(tǒng)自動(dòng)產(chǎn)生的信息。用戶定義例外:是用戶根據(jù)需要,自己定義使用的例外,執(zhí)行時(shí)由用戶自己引起。預(yù)定義的例外CURSOR_ALREADY_OPENVALUE_ERRORNO_DATA_FOUNDINVALID_NUMBERTOO_MANY_ROWSZERO_DIVIDEINVALID_CURSOR用戶自定義例外用戶定義的例外必須在DECLARE段中說明,在Begin段中用RAISE引起,在EXCEPTION段中使用。,PL/SQL程序設(shè)計(jì),27,例外處理(EXCEPTION),用戶定義例外的說明:定義名為out_of_range的例外Declareout_of_rangeEXCEPTION;例外的使用DeclareBeginExceptionWhenNO_DATA_FOUNDTHENWhenCURSOR_ALREADY_OPENTHENWhenTOO_MANY_ROWSTHEN.WhenOTHERSTHEN.END;,例外段,在Exception段中對(duì)返回信息一一作出響應(yīng),PL/SQL程序設(shè)計(jì),28,例外處理(EXCEPTION),用戶自定義例外的使用Declareout_of_rangeEXCEPTION;Beginifv_sal>MAX_SALthenRAISEout_of_range;endif;ExceptionWhenNO_DATA_FOUNDTHENWhenCURSOR_ALREADY_OPENTHENWhenTOO_MANY_ROWSTHEN.Whenout_of_rangeTHEN.END;,例外段,在Declare段定義,在Begin段中引起,在Exception段中使用,

注意事項(xiàng)

本文(LSQL-清華大學(xué)計(jì)算中心ORACLE培訓(xùn)資料.ppt)為本站會(huì)員(max****ui)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!