九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

PLSQL編程基礎(chǔ)

上傳人:ha****u 文檔編號:244877600 上傳時間:2024-10-06 格式:PPT 頁數(shù):39 大?。?91.99KB
收藏 版權(quán)申訴 舉報 下載
PLSQL編程基礎(chǔ)_第1頁
第1頁 / 共39頁
PLSQL編程基礎(chǔ)_第2頁
第2頁 / 共39頁
PLSQL編程基礎(chǔ)_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《PLSQL編程基礎(chǔ)》由會員分享,可在線閱讀,更多相關(guān)《PLSQL編程基礎(chǔ)(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第,7,章,PL/SQL,編程基礎(chǔ),前面所學(xué)習(xí)的,SQL,是操作關(guān)系性數(shù)據(jù)庫的一種通用語言,但是,SQL,本身是一種非過程化的語言,即不用指明執(zhí)行的具體方法和途徑,而是簡單地調(diào)用相應(yīng)語句直接取得結(jié)果即可。所以,SQL,本身并不適合在復(fù)雜的業(yè)務(wù)流程下使用,為了解決這一問題,,Oracle,提供了,PL/SQL,編程,這是一種過程化編程

2、語言,與,JAVA,語言一樣關(guān)注于處理細節(jié),可以實現(xiàn)較為復(fù)雜的業(yè)務(wù)邏輯。,7.1,PL/SQL,簡介,PL/SQL,語法結(jié)構(gòu),DECLARE,-,聲明部分,例如:定義變量、常量、游標,BEGIN,-,程序編寫、,SQL,語句,EXECEPTION,-,處理異常,END;,/,聲明部分(,DECLARE,),:包含變量定義、用戶定義的,PL/SQL,類型、游標、引用 的函數(shù)或過程。,執(zhí)行部分(,BEGIN,),:包含變量賦值、對象初始化、條件結(jié)構(gòu)、迭代結(jié)構(gòu)、嵌套的,PL/SQL,塊,或是對局部或者存儲,PL/SQL,命名塊的調(diào)用。,異常部分(,exception,),:包含錯誤處理語句,該語句可

3、以像執(zhí)行部分一樣使用所有項。,結(jié)束部分(,END,),:,程序執(zhí)行到,END,表示結(jié)束,分號用戶結(jié)束塊,正斜杠(,/,)執(zhí)行塊程序,既沒有變量,也沒有流程控制(分支、循環(huán))。,PL/SQL,與,SQL,區(qū)別:,SQL,PL/SQL,PL/SQL,是結(jié)構(gòu)化和過程化的結(jié)合體。,每條,SQL,語句逐一發(fā)送給數(shù)據(jù)庫。,一次性將多條,SQL,語言一起發(fā)送給數(shù)據(jù)庫,7.1,PL/SQL,簡介,最簡單的,PL/SQL,塊可以不做任何事情,但是在,PL/SQL,編程過程中要求,執(zhí)行塊至少要有一條語句,即使這條語句只是編寫一個,NULL,也行。,范例:,編寫不做任何工作的,PL/SQL,塊。,BEGIN,NUL

4、L;,END;,/,范例:,編寫一個簡單的,PL/SQL,程序,DECLARE,v_num number;,BEGIN,v_num:=30;,DBMS_output.put_line(v_num,變量的內(nèi)容是:,|v_num);,END;,7.1,PL/SQL,簡介,范例:,編寫,PL/SQL,塊,輸入一個雇員編號,而后取得指定的雇員姓名。,Declare,v_eno number;,v_ename varchar2(10);,Begin,V_eno:=-,由鍵盤輸入雇員編號,Select ename into v_ename from emp where empno=v_eno;,DBMS_

5、OUTPUT.put_line(,編號為,:|v_eno|,雇員的名字為:,|v_ename);,End;,7.1,PL/SQL,簡介,7.2,變量的聲明與賦值,變量聲明并使用變量:,變量名稱可以有字母、數(shù)字、,_,、,$,、,#,等組成。,所有變量名稱要求以字母開頭,不能是,Oracle,中的保留字,變量的長度最多只能為,30,個字符,變量不區(qū)分大小寫,7.2,變量的聲明與賦值,聲明變量語法:,變量名稱,CONSTANT,類型,not NULL:=value,使用,%TYPE,聲明變量類型:,在編寫,PL/SQL,程序時,如果希望某一個變量與指定數(shù)據(jù)表中某一列的類型一樣,則可以采用,“變量定

6、義”表名稱,.,表名稱,%TYPE,的格式,7.2,變量的聲明與賦值,Declare,v_eno emp.empno%type;,v_ename emp.ename%type;,Begin,DBMS_output.put_line(,請輸入雇員編號:,);,v_eno:=,select ename into v_ename from emp where empno=v_eno;,DBMS_output.put_line(,編號為:,|v_eno|,雇員的名字為:,|v_ename);,end;,7.2,變量的聲明與賦值,使用,%ROWTYPE,聲明變量類型,PL/SQL,提供了一種,%ROWT

7、YPE,,使用此標記可以定義表中一行記錄的類型。,當(dāng)用戶使用了“,selectinto,”將表中的一行記錄設(shè)置為,ROWTYPE,類型的變量中時,就可以利用“,rowtype,變量,.,表字段”的方式取得表中每行對應(yīng)的列數(shù)據(jù)。,7.2,變量的聲明與賦值,Declare,v_deptrow dept%rowtype;-,裝載一行,dept,記錄,Begin,select*into v_deptrow from dept where deptno=10;,DBMS_output.put_line(,部門編號:,|v_deptrow.deptno|,名稱:,|v_deptrow.dname|,位置:

8、,|v_deptrow.loc);,End;,7.3,標量類型,數(shù)值型,標量類型,字符型,日期型,大對象,布爾,7.3,標量類型,7.3,標量類型,7.3,標量類型,7.3,標量類型,7.4,程序結(jié)構(gòu),PL/SQL,程序與其他編程語言一樣,也擁有自己的,3,中程序結(jié)構(gòu),即順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。,開始,語句,1,語句,2,語句,n,結(jié)束,順序結(jié)構(gòu),判斷條件,語句,2,語句,n,結(jié)束,語句,1,分支結(jié)構(gòu),語句,1,語句,2,判斷條件,循環(huán)結(jié)構(gòu),7.4.1,分支結(jié)構(gòu),IF,語句,7.4.1,分支結(jié)構(gòu),范例:,查詢,emp,表的工資。輸入員工編號,根據(jù)編號查詢工資。如果工資高于,3000,元,

9、則顯示高工資;如果工資大于,2000,元則顯示中等工資;如果小于,2000,元,則顯示低工資。,DECLARE,v_empSalemp.sal%TYPE;-,定義變量與,emp.sal,字段類型相同,v_empNameemp.ename%TYPE;-,定義變量與,emp.ename,字段類型相同,v_enoemp.empno%TYPE;-,定義變量與,emp.empno,字段類型相同,BEGIN,v_eno:=-,用戶輸入要查找的雇員編號,-,根據(jù)輸入的雇員編號查找雇員姓名及工資,SELECT ename,sal INTO v_empName,v_empSal FROM emp WHERE e

10、mpno=v_eno;,IF v_empSal 3000 THEN-,判斷,DBMS_OUTPUT.put_line(v_empName|,的工資屬于高工資!,);,ELSIF v_empSal 2000 THEN-,判斷,DBMS_OUTPUT.put_line(v_empName|,的工資屬于中等工資!,);,ELSE,DBMS_OUTPUT.put_line(v_empName|,的工資屬于低工資!,);,END IF;,END;,7.4.1,分支結(jié)構(gòu),范例:,用戶輸入一個雇員編號,根據(jù)它所在的部門給上漲工資,規(guī)則:,10,部門上漲,10%,,,20,上漲,20%,,,30,上漲,30%

11、,;,但是要求最高不能超過,5000,,超過,5000,就停留在,5000,。,7.4.1,分支結(jié)構(gòu),7.4.1,分支結(jié)構(gòu),DECLARE,v_empSalemp.sal%TYPE;-,定義變量與,emp.sal,字段類型相同,v_dnoemp.deptno%TYPE;-,定義變量與,emp.deptno,字段類型相同,v_enoemp.empno%TYPE;-,定義變量與,emp.empno,字段類型相同,BEGIN,v_eno:=-,用戶輸入要查找的雇員編號,SELECT deptno,sal INTO v_dno,v_empSal FROM emp WHERE empno=v_eno;,

12、IF v_dno=10 THEN,IF v_empSal*1.1 5000 THEN,UPDATE emp SET sal=5000 WHERE empno=v_eno;,ELSE,UPDATE emp SET sal=sal*1.1 WHERE empno=v_eno;,END IF;,ELSIF v_dno=20 THEN,IF v_empSal*1.2 5000 THEN,UPDATE emp SET sal=5000 WHERE empno=v_eno;,ELSE,UPDATE emp SET sal=sal*1.2 WHERE empno=v_eno;,END IF;,ELSIF v

13、_dno=30 THEN,IF v_empSal*1.3 5000 THEN,UPDATE emp SET sal=5000 WHERE empno=v_eno;,ELSE,UPDATE emp SET sal=sal*1.3 WHERE empno=v_eno;,END IF;,ELSE,null;,END IF;,END;,7.4.1,分支結(jié)構(gòu),CASE,語句,Case,語句是一種多條件的判斷語句,其功能與,IFelseifelse,類似,Case,語法:,Case,變量,when,值,|,表達式,THEN,執(zhí)行語句塊;,when,值,|,表達式,THEN,執(zhí)行語句塊;,Else,條件都不

14、滿足時執(zhí)行語塊;,End case,7.4.1,分支結(jié)構(gòu),范例:,使用,CASE,進行多條件判斷,DECLARE,v_salaryemp.sal%TYPE;,v_enoemp.empno%TYPE;,BEGIN,v_eno:=,SELECT sal INTO v_salary FROM emp WHERE empno=v_eno;,CASE,WHEN v_salary=3000 THEN,DBMS_OUTPUT.put_line(雇員:|v_eno|的收入為高工資。);,WHEN v_salary=2000 AND v_salary=3;,v_i:=v_i+1;,END LOOP;,END;,

15、7.4.2,循環(huán)結(jié)構(gòu),范例:,使用,WHILELOOP,循環(huán),DECLARE,v_i NUMBER:=1;-,定義一個變量,用于循環(huán),BEGIN,WHILE(v_i 10 AND v_data 0 THEN-,部門存在,RAISE_APPLICATION_ERROR(-20888,此部門編號已存在,請重新輸入!,);,ELSE-,部門不存在,INSERT INTO dept(deptno,dname,loc)VALUES(v_dno,v_dna,v_dloc);,DBMS_OUTPUT.put_line(,新部門增加成功!,);,COMMIT;,END IF;,EXCEPTION,WHEN others THEN,DBMS_OUTPUT.put_line(SQLERRM);,ROLLBACK;,END;,范例:,使用,PL/SQL,增加部門信息,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

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

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

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


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