已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PL/SQL程序設(shè)計(jì),.,2,PL/SQL基礎(chǔ),SQL:StructuredQueryLanguagePL/SQL:ProceduralLanguage/SQL,.,3,PL/SQL實(shí)例,一個(gè)用PL/SQL編制的程序代碼如下所示DECLARExmvarchar2(8):=張瓊;zymvarchar2(10):=計(jì)算機(jī);zxfnumber(2):=45;/*定義變量類型*/BEGINUPDATEXSSETzxf=zxfWHERExm=xm;/*更新學(xué)生表*/IFSQL%NOTFOUNDTHEN/*檢查記錄是否存在,如果不存在就插入記錄*/INSERTINTOXS(XH,XM,ZYM,ZXF)VALUES(xs_sequence.NEXTVAL,xm,zym,zxf);ENDIF;END;,.,4,PL/SQL語句塊,匿名語句塊命名語句塊1.標(biāo)號(hào)語句塊2.子程序(過程、函數(shù))3.觸發(fā)器,.,5,基本塊結(jié)構(gòu),所有語句塊都包含三個(gè)基本的部分:聲明部分、執(zhí)行部分和異常處理部分。只有執(zhí)行部分是必需的,其他兩個(gè)部分都是可選的。,.,6,基本塊結(jié)構(gòu),DECLARE/*Declarativesectionishere*/BEGIN/*Executablesectionishere*/EXCEPTION/*Exceptionsectionishere*/END;,本語句塊中使用的所有變量、游標(biāo)和類型都放在聲明部分。,語句塊要完成的處理工作。,對(duì)執(zhí)行過程中發(fā)生的錯(cuò)誤進(jìn)行處理。,.,7,DECLAREv_StudentIDNUMBER(5):=10000;v_FirstNameVARCHAR2(20);BEGIN-RetrievefirstnameofstudentwithID10,000SELECTfirst_nameINTOv_FirstNameFROMstudentsWHEREid=v_StudentID;EXCEPTIONWHENNO_DATA_FOUNDTHENINSERTINTOlog_table(info)VALUES(Student10,000doesnotexist!);END;/(匿名程序塊到上面一行結(jié)束,/執(zhí)行本程序塊),.,8,標(biāo)識(shí)符,標(biāo)識(shí)符用來命名PL/SQL對(duì)象,例如變量、游標(biāo)、類型和子程序。標(biāo)識(shí)符由字母開頭,后面可跟隨字母、數(shù)字、貨幣符號(hào)、下劃線和“#”字符。PL/SQL標(biāo)識(shí)符的最大長(zhǎng)度為30個(gè)字符,不區(qū)分大小寫。但是適當(dāng)?shù)厥褂么笮懣梢蕴岣叱绦虻目勺x性。,.,9,運(yùn)算符,Oracle提供了三類運(yùn)算符:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符。1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符執(zhí)行算術(shù)運(yùn)算。算術(shù)運(yùn)算符有:+(加)、-(減)、*(乘)、/(除)*(指數(shù))和(連接)。其中(加)和(減)運(yùn)算符也可用于對(duì)DATE(日期)數(shù)據(jù)類型的值進(jìn)行運(yùn)算。例:求學(xué)生的年齡。SELECT(SYSDATECSSJ)AS年齡FROMXS;其中:SYSDATE是當(dāng)前系統(tǒng)時(shí)間,CSSJ是出生時(shí)間。,.,10,運(yùn)算符,2.關(guān)系運(yùn)算符關(guān)系運(yùn)算符(又稱比較運(yùn)算符)有下面幾種:(1)(等于)、或!=(不等于)、(大于)、=(大于等于)、=和=40ANDZXF45ANDZYM=計(jì)算機(jī);(3)查詢計(jì)算機(jī)系和通信工程系學(xué)生的基本情況。SELECTXH,XM,ZYM,ZXFFROMXSWHEREZYM=計(jì)算機(jī)ORZYM=通信工程;,.,13,其他符號(hào),PL/SQL為支持編程,還使用其他一些符號(hào)。下表列出了部分符號(hào),它們是最常用的,也是使用PL/SQL的所有用戶都必須了解的。,.,14,字符型文字,字符型文字是由單引號(hào)界定的一個(gè)或多個(gè)字符,如123456、Fouryearsago.字符型文字可直接賦值給類型CHAR或VARCHAR2字符型文本中兩個(gè)單引號(hào)表示一個(gè)單引號(hào),如Mikesstring,.,15,數(shù)字型文本,數(shù)字型文本可以不經(jīng)轉(zhuǎn)換就直接賦值給NUMBER類型變量。如:123、-7、23.1、9.87E-3,.,16,布爾型文字,僅有三種可能的布爾型文字:TRUE、FALSE和NULL。這些取值可以被賦值給布爾型變量。布爾型文字表示條件的真或假,可以在IF和LOOP語句中使用。,.,17,注釋,1.單行注釋由兩個(gè)連字符(-)開始。eg:v_Course;-Variabletoholdthecoursenumber2.多行注釋由/*開頭,由*/結(jié)尾。eg:v_Course;/*Variabletoholdthecoursenumber*/,.,18,變量聲明,變量有名字及其數(shù)據(jù)類型兩個(gè)屬性。變量名用于標(biāo)識(shí)該變量,變量的數(shù)據(jù)類型確定了該變量存放值的格式及允許的運(yùn)算。聲明語法variable_nametypeconstantnotnull:=value;DECLAREv_DescriptionVARCHAR2(50);v_NumberSeatsNUMBER:=45;v_CounterBINARY_INTEGER:=0;,.,19,變量聲明,變量聲明為NOTNULL的,必須要賦初始值。變量聲明為CONSTANT的,必須要賦初始值。DECLAREv_TempVarNUMBERNOTNULL:=0;c_MiniStuIDCONSTANTNUMBER(5):=10000;,.,20,PL/SQL類型,1.數(shù)字系列NUMBER(P,S)P:數(shù)值中所有數(shù)字位的個(gè)數(shù)S:小數(shù)點(diǎn)右邊的數(shù)字位的個(gè)數(shù)(NUMBER等價(jià)于DECIMAL、FLOAT、REAL)例如:num_fieldNUMBER(10,2);num_field是一個(gè)整數(shù)部分最多使8位,小數(shù)部分最多是2的變量。,.,21,PL/SQL類型,2.字符系列VARCHA2(L)(VARCHAR和STRING等價(jià)于VARCHAR2)例如:var_fieldVARCHAR(11):=Helloworld;,.,22,PL/SQL類型,3.日期/區(qū)間系列DATE存儲(chǔ)世紀(jì)、年、月、日、小時(shí)、分和秒的信息。TIMESTAMP(P)可以存儲(chǔ)秒字段的小數(shù)部分。,.,23,PL/SQL類型,4.布爾系列BOOLEAN其值為TRUE、FALSE和NULL之一。,.,24,PL/SQL類型,5.復(fù)合類型符合類型有記錄、表和數(shù)組。6.引用類型引用類型只有一種:游標(biāo)變量,.,25,PL/SQL類型,7.使用%TYPEDECLAREv_FirstNamestudents.first_name%TYPE;通過使用”%TYPE”,v_FirstName的變量類型聲明為students表的first_name列的類型。使用%TYPE聲明具有以下兩個(gè)優(yōu)點(diǎn):不必知道XH列的確切的數(shù)據(jù)類型;如果改變了XH列的數(shù)據(jù)庫定義,my_xh的數(shù)據(jù)類型在運(yùn)行時(shí)會(huì)自動(dòng)進(jìn)行修改。,.,26,PL/SQL類型,8.%ROWTYPE可以使用%ROWTYPE屬性聲明描述表的行數(shù)據(jù)的記錄,對(duì)于用戶定義的記錄,必須聲明自己的域。記錄包含唯一的命名域,具有不同的數(shù)據(jù)類型。DECLARETYPETimeRecISRECORD(HHnumber(2),MMnumber(2);TYPEMeetingTypISRECORD(Meeting_Datedate,Meeting_TimeTimeRec,Meeting_Addrvarchar2(20),Meeting_Purposevarchar2(50),.,27,變量的作用域,變量的作用域是指可以訪問該變量的程序部分。對(duì)于PL/SQL變量來說,其作用域就是從變量的聲明到語句塊的結(jié)束。當(dāng)變量超出了作用域時(shí),PL/SQL解析程序就會(huì)自動(dòng)釋放該變量的存儲(chǔ)空間。,.,28,對(duì)象類型,1、OEM定義2、命令定義語法格式:CREATEORREPLEACETYPEschema.type_nameAUTHIDCURRENT_USER|DEFINERASOBJECT(attribute1datatype,attribute2datatype,attributendatatypemethod1method2methodn,.,29,數(shù)據(jù)類型的轉(zhuǎn)換,1.顯示數(shù)據(jù)轉(zhuǎn)換TO_CHAR(d,format)日期型-字符型TO_CHAR(num,format)數(shù)字型-字符型TO_DATE(string,format)字符型-日期型TO_NUMBER(string,format)字符型-數(shù)值型,.,30,數(shù)據(jù)類型的轉(zhuǎn)換,2.隱式數(shù)據(jù)類型轉(zhuǎn)換DECLAREv_CurrentCreditsVARCHAR2(5);BEGINSELECTcurrent_creditsINTOV_CurrentCreditsFROMstudentsWHEREid=10002;END;(current_credits字段是NUMBER(3)類型),.,31,數(shù)據(jù)類型的轉(zhuǎn)換,2.隱式數(shù)據(jù)類型轉(zhuǎn)換PL/SQL可以在下面的類型之間進(jìn)行轉(zhuǎn)換:字符和數(shù)字字符和日期盡管PL/SQL將在數(shù)據(jù)類型之間進(jìn)行隱式轉(zhuǎn)換,使用顯示轉(zhuǎn)換函數(shù)也是良好的程序設(shè)計(jì)風(fēng)格。,.,32,表達(dá)式和運(yùn)算符賦值,variable:=expression;變量名:=表達(dá)式;,DECLAREv_String1VARCHAR2(10);v_String2VARCHAR2(15);v_NumericNUMBER;BEGINv_String1:=Hello;v_String2:=v_String1;v_Numeric:=-12.4;END;,.,33,表達(dá)式示例,1.字符表達(dá)式|用于字符串連接Hello|World|!等于HelloWorld!,.,34,表達(dá)式,2.布爾表達(dá)式(45)OR(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年軟件許可使用合同的軟件范圍和許可期限
- 2024年物業(yè)清潔合同:保持環(huán)境共創(chuàng)綠色家園
- 品質(zhì)生活從時(shí)尚選擇開始
- 立秋營銷新篇章
- 2024私房舊房交易糾紛調(diào)解服務(wù)合同3篇
- 媒體新篇章模板
- 揭秘全球旅游新趨勢(shì)
- 大宗商品貨款質(zhì)押合同(2篇)
- 《煤礦職業(yè)病危害防治》培訓(xùn)課件2025
- 2024陶瓷杯團(tuán)購采購合同附帶市場(chǎng)調(diào)研與產(chǎn)品改進(jìn)服務(wù)3篇
- 7.激素及其作用機(jī)制
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請(qǐng)表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊(cè)
- 8小時(shí)等效A聲級(jí)計(jì)算工具
- 煤礦礦井供電設(shè)計(jì)(DOC26頁)
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題300道
- 社會(huì)實(shí)踐登記表
- 走遍西班牙1~19筆記
評(píng)論
0/150
提交評(píng)論