Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc

Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc

ID:28099814

大小:196.50 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2018-12-08

Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc_第1頁(yè)
Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc_第2頁(yè)
Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc_第3頁(yè)
Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc_第4頁(yè)
Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc_第5頁(yè)
資源描述:

《Oracle存儲(chǔ)過(guò)程學(xué)習(xí).doc》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、Oracle存儲(chǔ)過(guò)程學(xué)習(xí)  大家都知道存儲(chǔ)過(guò)程的開(kāi)頭語(yǔ)句是CREATEORREPLACEPROCEDURE(VARintype,VARouttype,.....)AS

2、IS但從變量申明開(kāi)始變量類(lèi)型有哪些?BEGIN后邏輯語(yǔ)句有哪些,我就記不清楚了。這里先給個(gè)簡(jiǎn)單的栗子123456789101112CREATE?OR?REPLACE?PROCEDURE?OUTPUTINFO?AS??I?NUMBER(10);?--在這里申明變量IBEGIN??I?:=?0;?--申明變量I的值為0??WHILE?I?<=?1

3、0?LOOP????--這里使用了WHILE循環(huán)?????BEGIN??????I?:=?I?+?1;????END;????DBMS_OUTPUT.PUT_LINE(I);?--發(fā)現(xiàn)該句放在BEGIN,END結(jié)構(gòu)內(nèi)外,結(jié)果一樣???END?LOOP;END?OUTPUTINFO;1234567891011121314SQL>?SET?SERVEROUTPUT?ONSQL>?EXEC?OUTPUTINFO;1234567891011PL/SQL?PROCEDURE?SUCCESSFULLY?COMPLETE

4、D.?今天嘗試?yán)^續(xù)寫(xiě),發(fā)現(xiàn)當(dāng)表名是變量時(shí)是過(guò)程是無(wú)法編譯成功的。經(jīng)過(guò)網(wǎng)上的查找和反復(fù)的測(cè)試才寫(xiě)成這么簡(jiǎn)單的一句1234CREATE?OR?REPLACE?PROCEDURE?TBS?AS??TB????VARCHAR2(15);??TBN???NUMBER(10)?DEFAULT?1;??V_SQL?VARCHAR2(2000);江蘇萬(wàn)和計(jì)算機(jī)培訓(xùn)中心地址:南京市中山北路26號(hào)新晨國(guó)際大廈24層(地鐵鼓樓站4A出口)官方網(wǎng)站:http://www.wanho.net567891011121314151617

5、1819??CNT???NUMBER(10);??TBD???DATE;BEGIN??TBD?:=?TO_DATE('2013/12/31?23:59:59',?'YYYY/MM/DD?HH24:MI:SS');??WHILE?(TBN?<=?11)?LOOP????TB????:=?'TBILLLOG'?

6、

7、?TBN;????TBN???:=?TBN?+?1;????V_SQL?:=?'SELECT?COUNT(*)?FROM?'?

8、

9、?TB;????EXECUTE?IMMEDIATE?V_SQL????

10、??INTO?CNT;????IF?CNT?>?1?THEN??????DBMS_OUTPUT.PUT_LINE(TBD?

11、

12、?'?'?

13、

14、?TBN?

15、

16、?'?'?

17、

18、?CNT);????END?IF;??END?LOOP;END;今天寫(xiě)作業(yè),一個(gè)簡(jiǎn)單的過(guò)程,犯了個(gè)簡(jiǎn)單的邏輯錯(cuò)誤,輸出的時(shí)候使用的變量是V_SQL,導(dǎo)致結(jié)果總是SELECT語(yǔ)句而非語(yǔ)句執(zhí)行的結(jié)果。123456789CREATE?OR?REPLACE?PROCEDURE?MALE_AVG_SALARY?AS??V_SQL???VARCHAR2(

19、2000);??RESULTS?NUMBER(10);BEGIN??V_SQL?:=?'SELECT?AVG(SALARY)?FROM?EMPLOYEES?WHERE?EMPLOYEESEX='?

20、

21、???????????'''M'''?

22、

23、?'?GROUP?BY?EMPLOYEESEX';??EXECUTE?IMMEDIATE?V_SQL;??DBMS_OUTPUT.PUT_LINE(V_SQL);END;今天的作業(yè)繼續(xù)頭大,不過(guò)參考了業(yè)務(wù)庫(kù)上的過(guò)程,對(duì)過(guò)程調(diào)用有了進(jìn)一步的認(rèn)識(shí):1234567891011

24、12顯示的開(kāi)啟游標(biāo)CREATE?OR?REPLACE?PROCEDURE?EMPLOYEE_SALARY(GENTEE?IN?VARCHAR2)?AS??CURSOR?CUR?IS????SELECT?FIRST_NAME?

25、

26、?LAST_NAME?EMPLOYEE_NAME,?SALARY??????FROM?EMPLOYEES?????WHERE?EMPLOYEESEX?=?GENTEE;??R?EMPLOYEES?%?ROWTYPE;BEGIN??FOR?R?IN?CUR?LOOP????BEGIN?

27、?????DBMS_OUTPUT.PUT_LINE('EMPLOYEE_NAME:?'?

28、

29、?R.EMPLOYEE_NAME?

30、

31、???????????????????????????'?EMPLOYEE_SALARY:?'?

32、

33、?R.SALARY);????END;??END?LOOP;END?EMPLOYEE_SALARY;江蘇萬(wàn)和計(jì)算機(jī)培訓(xùn)中心地址:南京市中山北路26號(hào)新晨國(guó)際大廈24層(地鐵鼓樓站4A出口

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。