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

正文內(nèi)容

oracle10g數(shù)據(jù)庫管理系統(tǒng)-資料下載頁

2025-01-23 09:40本頁面
  

【正文】 PL/SQL語句END[package_name]。包的開發(fā)步驟l 與開發(fā)存儲過程類似,包的開發(fā)需要幾個步驟:1. 將每個存儲過程調(diào)式正確;2. 用文本編輯軟件將各個存儲過程和函數(shù)集成在一起;3. 按照包的定義要求將集成的文本的前面加上包定義;4. 按照包的定義要求將集成的文本的前面加上包主體;5. 使用 SQLPLUS或開發(fā)工具進行調(diào)式。創(chuàng)建包 實例CREATEORREPLACEPACKAGEdemo_packISDeptRecdept%ROWTYPE。FUNCTIONadd_dept(dept_noNUMBER,dept_nameVARCHAR2,locationVARCHAR2)RETURNNUMBER。FUNCTIONremove_dept(dept_noNUMBER)RETURNNUMBER。PROCEDUREquery_dept(dept_noINNUMBER)。ENDdemo_pack。創(chuàng)建包體 實例CREATEORREPLACEPACKAGEBODYdemo_packISFUNCTIONadd_dept(dept_noNUMBER,dept_nameVARCHAR2,locationVARCHAR2)RETURNNUMBERISempno_remainingEXCEPTION。 PRAGMAEXCEPTION_INIT(empno_remaining,1)。/*1是違反唯一約束條件的錯誤代碼 */BEGININSERTINTOdeptVALUES(dept_no,dept_name,location)。IFSQL%FOUNDTHENRETURN1。ENDIF。EXCEPTION WHENempno_remainingTHENRETURN0。WHENOTHERSTHENRETURN1。ENDadd_dept。創(chuàng)建包體 實例 續(xù) …FUNCTIONremove_dept(dept_noNUMBER)RETURNNUMBERISBEGINDELETEFROMdeptWHEREdeptno=dept_no。IFSQL%FOUNDTHENRETURN1。ELSERETURN0。ENDIF。EXCEPTIONWHENOTHERSTHENRETURN1。ENDremove_dept。創(chuàng)建包體 實例 續(xù) …PROCEDUREquery_dept(dept_noINNUMBER)ISBEGINSELECT*INTODeptRecFROMdeptWHEREdeptno=dept_no。EXCEPTION WHENNO_DATA_FOUNDTHEN (39。數(shù)據(jù)庫中沒有編碼為 39。||dept_no||39。的部門 39。)。 WHENTOO_MANY_ROWSTHEN (39。程序運行錯誤 !請使用游標 39。)。 WHENOTHERSTHEN (SQLCODE||39。39。||SQLERRM)。ENDquery_dept。BEGINNull。ENDdemo_pack。調(diào)用包示例 DECLAREVarNUMBER。BEGINVar:=(90,’Admin’,‘Beijing’)。IFvar=1THEN(SQLCODE||’‘||SQLERRM)。ELSIFvar=0THEN(‘該部門記錄已經(jīng)存在! ’)。ELSE(‘添加記錄成功! ’)。(90)。(||’‘||||’‘||)。var:=(90)。IFvar=1THEN(SQLCODE||’‘||SQLERRM)。ELSIFvar=0THEN(‘該部門記錄不存在! ’)。ELSE(‘刪除記錄成功! ’)。ENDIF。ENDIF。END。調(diào)用結(jié)果:添加記錄成功!90AdminBeijing刪除記錄成功!子程序重載l PL/SQL允許對包內(nèi)子程序進行重載。所謂重載是指兩個或多個子程序有相同的名稱,但擁有不同的參數(shù)變量、參數(shù)順序或參數(shù)數(shù)據(jù)類型。創(chuàng)建包 實例CREATEORREPLACEPACKAGEdemo_pack1ISDeptRecdept%ROWTYPE。V_sqlcodeNUMBER。V_sqlerrVARCHAR2(2048)。FUNCTIONquery_dept(dept_noINNUMBER)RETURNINTEGER。FUNCTIONquery_dept(dept_noINVARCHAR2)RETURNINTEGER。ENDdemo_pack1。創(chuàng)建包體 實例CREATEORREPLACEPACKAGEBODYdemo_pack1ISFUNCTIONcheck_dept(dept_noNUMBER)RETURNINTEGERISFlagINTEGER。BEGINSELECTCOUNT(*)INTOflagFROMdeptWHEREdeptno=dept_no。IFflag0THENRETURN1。ELSERETURN0。ENDIF。ENDcheck_dept。創(chuàng)建包體 實例續(xù) …FUNCTIONcheck_dept(dept_noVARCHAR2)RETURNINTEGERISFlagINTEGER。BEGINSELECTCOUNT(*)INTOflagFROMdeptWHEREdeptno=dept_no。IFflag0THENRETURN1。ELSERETURN0。ENDIF。ENDcheck_dept。創(chuàng)建包體 實例續(xù) …FUNCTIONquery_dept(dept_noINNUMBER)RETURNINTEGERISBEGINIFcheck_dept(dept_no)=1THENSELECT*INTODeptRecFROMdeptWHEREdeptno=dept_no。RETURN1。ELSERETURN0。ENDIF。ENDquery_dept。創(chuàng)建包體 實例續(xù) …FUNCTIONquery_dept(dept_noINVARCHAR2)RETURNINTEGERISBEGINIFcheck_dept(dept_no)=1THENSELECT*INTODeptRecFROMdeptWHEREdeptno=dept_no。RETURN1。ELSERETURN0。ENDIF。ENDquery_dept。ENDdemo_pack1。刪除包l 語法如下:DROPPACKAGE[BODY][user.]package_name。l DROPPROCEDUREOpenCurType。l DROPPACKAGEdemo_pack。l DROPPACKAGEdemo_pack1。l DROPPACKAGEemp_mgmt。l DROPPACKAGEemp_package。觸發(fā)器l 觸發(fā)器在數(shù)據(jù)庫里以獨立的對象存儲,它與存儲過程不同的是,存儲過程通過其它程序來啟動運行或直接啟動運行,而觸發(fā)器是由一個事件來啟動運行。即觸發(fā)器是當某個事件發(fā)生時自動地隱式運行。并且觸發(fā)器不能接收參數(shù)。所以運行觸發(fā)器就叫觸發(fā)或點火(firing)。 ORACLE事件指的是對數(shù)據(jù)庫的表進行的INSERT、 UPDATE及 DELETE操作或?qū)σ晥D進行類似的操作。 ORACLE將觸發(fā)器的功能擴展到了觸發(fā)ORACLE,如數(shù)據(jù)庫的啟動與關(guān)閉等。觸發(fā)器類型l ORACLE中的觸發(fā)器類型包括: DML觸發(fā)器、替代觸發(fā)器和系統(tǒng)觸發(fā)器三種。l l ORACLE可以在 DML語句進行觸發(fā),可以在 DML操作前或操作后進行觸發(fā),并且可以對每個行或語句操作上進行觸發(fā)。l l 由于在 ORACLE里不能直接對由兩個以上的表建立的視圖進行操作。所以給出了替代觸發(fā)器。它就是 ORACLE專門為進行視圖操作的一種處理方法。l l ORACLE提供了第三種類型的觸發(fā)器叫系統(tǒng)觸發(fā)器。它可以在 ORACLE數(shù)據(jù)庫系統(tǒng)的事件中進行觸發(fā),如 ORACLE系統(tǒng)的啟動與關(guān)閉等。觸發(fā)器中的概念l 觸發(fā)事件: 即在何種情況下觸發(fā) TRIGGER,例如:INSERT,UPDATE,DELETE。l 觸發(fā)時間: 即該 TRIGGER是在觸發(fā)事件發(fā)生之前(BEFORE)還是之后 (AFTER)觸發(fā),也就是觸發(fā)事件和該 TRIGGER的操作順序。l 觸發(fā)器本身: 即該 TRIGGER被觸發(fā)之后的目的和意圖,正是觸發(fā)器本身要做的事情。 例如: PL/SQL塊。l 觸發(fā)頻率: 說明觸發(fā)器內(nèi)定義的動作被執(zhí)行的次數(shù)。即語句級 (STATEMENT)觸發(fā)器和行級 (ROW)觸發(fā)器。l 語句級 (STATEMENT)觸發(fā)器: 是指當某觸發(fā)事件發(fā)生時,該觸發(fā)器只執(zhí)行一次;l 行級 (ROW)觸發(fā)器: 是指當某觸發(fā)事件發(fā)生時,對受到該操作影響的每一行數(shù)據(jù),觸發(fā)器都單獨執(zhí)行一次。創(chuàng)建觸發(fā)器l 創(chuàng)建觸發(fā)器的一般語法是 :CREATE[ORREPLACE]TRIGGERtrigger_name{BEFORE|AFTER}{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}ON[schema.]table_name[FOREACHROW]trigger_body。觸發(fā)器觸發(fā)次序l 執(zhí)行 BEFORE語句級觸發(fā)器 。l 對與受語句影響的每一行:l 執(zhí)行 BEFORE行級觸發(fā)器l 執(zhí)行 DML語句l 執(zhí)行 AFTER行級觸發(fā)器 l 執(zhí)行 AFTER語句級觸發(fā)器創(chuàng)建 DML觸發(fā)器l 觸發(fā)器名與過程名和包的名字不一樣,它是單獨的名字空間,因而觸發(fā)器名可以和表或過程有相同的名字,但在一個模式中觸發(fā)器名不能相同。 DML觸發(fā)器的限制l CREATETRIGGER語句文本的字符長度不能超過 32KB;l 觸發(fā)器體內(nèi)的 SELECT語句只能為 SELECT…INTO… 結(jié)構(gòu),或者為定義游標所使用的 SELECT語句。l 觸發(fā)器中不能使用數(shù)據(jù)庫事務(wù)控制語句 COMMIT。ROLLBACK,SVAEPOINT語句;l 由觸發(fā)器所調(diào)用的過程或函數(shù)也不能使用數(shù)據(jù)庫事務(wù)控制語句;l 觸發(fā)器中不能使用 LONG,LONGRAW類型;l 觸發(fā)器內(nèi)可以參照 LOB類型列的列值,但不能通過 :NEW修改LOB列中的數(shù)據(jù);:NEW 和 :OLD l 問題: 當觸發(fā)器被觸發(fā)時,要使用被插入、更新或刪除的記錄中的列值,有時要使用操作前、 后列的值。l 實現(xiàn): l :NEW修飾符訪問操作完成后列的值l :OLD修飾符訪問操作完成前列的值實例CREATETABLEemp_hisASSELECT*FROMEMPWHERE1=2。CREATEORREPLACETRIGGERdel_empBEFOREDELETEONFOREACHROWBEGIN將修改前數(shù)據(jù)插入到日志記錄表 del_emp,以供監(jiān)督使用。INSERTINTOemp_his(deptno,empno,ename,job,mgr,sal,m,hiredate)VALUES(:,:,:,:,:,:,:,:)。END。DELETEempWHEREempno=7788。DROPTABLEemp_his。DROPTRIGGERdel_emp。創(chuàng)建替代 (INSTEADOF)觸發(fā)器l 創(chuàng)建觸發(fā)器的一般語法是 :CREATE[ORREPLACE]TRIGGERtrigger_nameINSTEADOF{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}ON[schema.]view_name[FOREACHROW]trigger_body。刪除觸發(fā)器 l 刪除觸發(fā)器語法:l DROPTRIGGERtrigger_name。l 當刪除其他用戶模式中的觸發(fā)器名稱,需要具有 DROPANYTRIGGER系統(tǒng)權(quán)限,當刪除建立在數(shù)據(jù)庫上的觸發(fā)器時,用戶需要具有ADMINISTERDATABASETRIGGER系統(tǒng)權(quán)限。使能觸發(fā)器 l 數(shù)據(jù)庫 TRIGGER的狀態(tài):l 有效狀態(tài) (ENABLE):當觸發(fā)事件發(fā)生時,處于有效狀態(tài)的數(shù)據(jù)庫觸發(fā)器 TRIGGER將被觸發(fā)。l 無效狀態(tài) (DISABLE):當觸發(fā)事件發(fā)生時,處于無效狀態(tài)的數(shù)據(jù)庫觸發(fā)器 TRIGGER將不會被觸發(fā),此時就跟沒有這個數(shù)據(jù)庫觸發(fā)器 (TRIGGER)一樣。 l 語法:l ALTERTRIGGERtrigger_name[DISABLE|ENABLE]。l 例: ALTERTRIGGERemp_view_deleteDISABLE。演講完畢,謝謝觀看!
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1