freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle10g數(shù)據(jù)庫管理系統(tǒng)(編輯修改稿)

2025-02-10 09:40 本頁面
 

【文章內(nèi)容簡介】 和標簽 實例DECLAREV_counterNUMBER:=1。BEGINLOOP(39。V_counter的當(dāng)前值為 :39。||V_counter)。V_counter:=v_counter+1。IFv_counter10THENGOTOl_ENDofLOOP。ENDIF。ENDLOOP。l_ENDofLOOP(39。V_counter的當(dāng)前值為 :39。||V_counter)。ENDNULL語句 DECLARE...BEGIN…IFv_numISNULLTHENGOTOprint1。ENDIF。…print1NULL。不需要處理任何數(shù)據(jù)。END。游標概念l 為了處理 SQL語句獲取一個表中記錄,ORACLE提供一個上下文,它提供了一個指向語句的指針以及查詢的活動集 (activeset)。游標是一個指向上下文的句柄 (handle)或指針。通過游標, PL/SQL可以控制上下文區(qū)和處理語句時上下文區(qū)會發(fā)生些什么事情。游標概念l 對于不同的 SQL語句,游標的使用情況不同: 處理顯式游標l 顯式游標處理需四個 PL/SQL步驟 :l 定義游標 格式: CURSORcursor_nameISselect_statement。l 打開游標 格式: OPENcursor_name。l 提取游標數(shù)據(jù)格式: FETCHcursor_nameINTO{variable_list|record_variable}。l 關(guān)閉游標 格式: CLOSEcursor_name。示例 1 DECLARECURSORc_cursorISSELECTename,salFROMempWHERErownum11。v_ename%TYPE。v_sal%TYPE。BEGINOPENc_cursor。FETCHc_cursorINTOv_ename,v_sal。WHILEc_cursor%FOUNDLOOP(v_ename||39。39。|to_char(v_sal))。FETCHc_cursorINTOv_ename,v_sal。ENDLOOP。CLOSEc_cursor。END。示例 2 DECLAREDeptRecdept%ROWTYPE。Dept_name%TYPE。Dept_loc%TYPE。CURSORc1ISSELECTdname,locFROMdeptWHEREdeptno=30。CURSORc2(dept_noNUMBERDEFAULT10)ISSELECTdname,locFROMdeptWHEREdeptno=dept_no。CURSORc3(dept_noNUMBERDEFAULT10)ISSELECT*FROMdeptWHEREdeptno=dept_no。BEGINOPENc1。LOOPFETCHc1INTOdept_name,dept_loc。EXITWHENc1%NOTFOUND。(dept_name||39。39。|dept_loc)。ENDLOOP。示例 2 續(xù) …CLOSEc1。OPENc2。LOOPFETCHc2INTOdept_name,dept_loc。EXITWHENc2%NOTFOUND。(dept_name||39。39。|dept_loc)。ENDLOOP。CLOSEc2。OPENc3(dept_no=20)。LOOPFETCHc3INTOdeptrec。EXITWHENc3%NOTFOUND。(||39。39。|||39。39。|)。ENDLOOP。CLOSEc3。END。游標屬性 l %FOUND布爾型屬性,當(dāng)最近一次讀記錄時成功返回 ,則值為 TRUE;l %NOTFOUND布爾型屬性,與 %FOUND相反;l %ISOPEN布爾型屬性,當(dāng)游標已打開時返回 TRUE;l %ROWCOUNT數(shù)字型屬性,返回已從游標中讀取的記錄數(shù)。示例DECLAREv_empno%TYPE。v_sal%TYPE。CURSORc_cursorISSELECTempno,salFROMemp。BEGINOPENc_cursor。LOOPFETCHc_cursorINTOv_empno,v_sal。EXITWHENc_cursor%NOTFOUND。IFv_sal=1200THENUPDATEempSETsal=sal+50WHEREempno=v_empno。(39。編碼為 39。||v_empno||39。工資已更新 !39。)。ENDIF。(39。記錄數(shù) :39。||c_cursor%ROWCOUNT)。ENDLOOP。CLOSEc_cursor。END。游標的 FOR循環(huán) FORindex_variableINcursor_name[value[,value]…]LOOP游標數(shù)據(jù)處理代碼ENDLOOP。游標中使用 FOR循環(huán)示例 DECLARECURSORc_salISSELECTempno,ename,salFROMempBEGIN隱含打開游標FORv_salINc_salLOOP隱含執(zhí)行一個 FETCH語句 (to_char()||39。39。||||39。39。||to_char())隱含監(jiān)測 c_sal%NOTFOUNDENDLOOP。隱含關(guān)閉游標END。有參數(shù)游標中使用 FOR循環(huán)示例 DECLARECURSORc_cursor(dept_noNUMBERDEFAULT10)ISSELECTdname,locFROMdeptWHEREdeptno=dept_no。BEGIN(39。dept_no參數(shù)值為 30: 39。)。FORc1_recINc_cursor(30)LOOPc_cursor(dept_n=30)(||39。39。||)。ENDLOOP。(CHR(10)||39。使用默認的 dept_no參數(shù)值 10: 39。)。FORc1_recINc_cursorLOOP(||39。39。||)。ENDLOOP。END。游標 FOR循環(huán)語句中使用子查詢來實現(xiàn)游標 實例BEGINFORc1_recIN(SELECTdname,locFROMdept)LOOP(||39。39。||)。ENDLOOP。END。處理隱式游標l 當(dāng)查詢返回結(jié)果超過一行時,就需要一個顯式游標。顯式游標主要是用于對查詢語句的處理,尤其是在查詢結(jié)果為多條記錄的情況下;而對于非查詢語句,如修改、刪除操作,則由 ORACLE系統(tǒng)自動地為這些操作設(shè)置游標并創(chuàng)建其工作區(qū),這些由系統(tǒng)隱含創(chuàng)建的游標稱為隱式游標,隱式游標的名字為 SQL,這是由ORACLE系統(tǒng)定義的。對于隱式游標的操作,如定義、打開、取值及關(guān)閉操作,都由 ORACLE系統(tǒng)自動地完成,無需用戶進行處理。用戶只能通過隱式游標的相關(guān)屬性,來完成相應(yīng)的操作。在隱式游標的工作區(qū)中,所存放的數(shù)據(jù)是與用戶自定義的顯示游標無關(guān)的、最新處理的一條 SQL語句所包含的數(shù)據(jù)。處理隱式游標格式調(diào)用為: SQL%當(dāng)執(zhí)行一條 DML語句后, DML語句的結(jié)果保存在四個游標屬性中,這些屬性用于控制程序流程或者了解程序的狀態(tài)。當(dāng)運行DML語句時, PL/SQL打開一個內(nèi)建游標并處理結(jié)果,游標是維護查詢結(jié)果的內(nèi)存中的一個區(qū)域,游標在運行 DML語句時打開,完成后關(guān)閉。處理隱式游標隱式游標只使用 SQL%FOUND、SQL%NOTFOUND、 SQL%ROWCOUNT三個屬性, SQL%FOUND,SQL%NOTFOUND是布爾值,SQL%ROWCOUNT是整數(shù)值。 處理隱式游標SQL%FOUND,布爾型屬性,當(dāng)最近一次讀記錄時成功返回,則值為 TRUE。在執(zhí)行任何 DML語句前SQL%FOUND和 SQL%NOTFOUND的值都是 NULL,在執(zhí)行 DML語句后, SQL%FOUND的屬性值將是:INSERT為 TRUE;DELETE和 UPDATE,至少有一行被 DELETE或 UPDATE為TRUE;SELECTINTO至少返回一行為 TRUE;SQL%FOUND為 TRUE時 ,SQL%NOTFOUND為 FALSE。處理隱式游標 示例DECLAREV_deptno%TYPE:=p_deptno。BEGINDELETEFROMempWHEREdeptno=v_deptno。IFSQL%NOTFOUNDTHENDELETEFROMdeptWHEREdeptno=v_deptno。ENDIF。END。異常錯誤處理l 異常情況處理是用來處理正常執(zhí)行過程中未預(yù)料的事件,程序塊的異常處理預(yù)定義的錯誤和自定義錯誤,由于 PL/SQL程序塊一旦產(chǎn)生異常而沒有指出如何處理時,程序就會自動終止整個程序運行。有三種類型的異常:l 預(yù)定義 ( Predefined ) 異常l ORACLE預(yù)定義的異常情況大約有 24個。對這種異常情況的處理,無需在程序中定義,由 ORACLE自動將其引發(fā)。l 非預(yù)定義 ( Predefined ) 異常l 即其他標準的 ORACLE錯誤。對這種異常情況的處理,需要用戶在程序中定義,然后由 ORACLE自動將其引發(fā)。l 用戶定義 (User_define) 異常l 程序執(zhí)行過程中,出現(xiàn)編程人員認為的非正常情況。對這種異常情況的處理,需要用戶在程序中定義,然后顯式地在程序中將其引發(fā)。異常處理部分結(jié)構(gòu) EXCEPTIONWHENfirst_exceptionTHENcodetohandlefirstexceptionWHENsecond_exceptionTHENcodetohandlesecondexceptionWHENOTHERSTHENcodetohandleothersexceptionEND。預(yù)定義的異常處理實例DECLAREv_empno%TYPE:=empno。v_sal%TYPE。BEGINSELECTsalINTOv_salFROMempWHEREempno=v_empno。IFv_sal=1500THENUPDATEempSETsal=sal+100WHEREempno=v_empno。(39。編碼為 39。||v_empno||39。員工工資已更新 !39。)。ELSE(39。編碼為 39。||v_empno||39。員工工資已經(jīng)超過規(guī)定值 !39。)。ENDIF。EXCEPTIONWHENNO_DATA_FOUNDTHEN(39。數(shù)據(jù)庫中沒有編碼為 39。||v_empno||39。的員工 39。)。WHENTOO_MANY_ROWSTHEN(39。程序運行錯誤 !請使用游標 39。)。WHENOTHERSTHEN(SQLCODE||’‘||SQLERRM)。END。非預(yù)定義的異常處理l 非定義的 ORACLE錯誤進行定義,步驟如下: l 1. 在 PL/SQL塊的定義部分定義異常情況:l 異常情況 EXCEPTION。l 2. 將其定義好的異常情況,與標準的 ORACLE錯誤聯(lián)系起來,使用 EXCEPTION_INIT語句:l PRAGMAEXCEPTION_INIT(異常情況 ,錯誤代碼 );l 3. 在 PL/SQL塊的異常情況處理部分對異常情況做出相應(yīng)的處理。示例INSERTINTOdeptVALUES(50,160
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1