存儲過程1--清華大學計算中心ORACLE培訓資料ppt課件_第1頁
存儲過程1--清華大學計算中心ORACLE培訓資料ppt課件_第2頁
存儲過程1--清華大學計算中心ORACLE培訓資料ppt課件_第3頁
存儲過程1--清華大學計算中心ORACLE培訓資料ppt課件_第4頁
存儲過程1--清華大學計算中心ORACLE培訓資料ppt課件_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 存儲過程、包、數據庫觸發器設計(Oracle9i Procedural Option) 1. 存儲過程與運用級存儲過程的區別1.存儲于數據庫中2.文檔存儲在數據字典3.可以被運用、及開發 工具調用4.可以被其他存儲過程 調用1.存儲于Form運用中2.文檔可以從運用中得到3.只可以由Form調用4.可以調用存儲過程Storage ProcedureForm Procedure2.創建存儲過程(Create Procedure)Create or Replace Procedure 過程名(變量 數據類型) 變量定義; Begin End 過程名;過程體可以省略INOUTIN OUTISAS缺

2、省3.創建函數(Create Function) Create or Replace Function 函數名(變量 數據類型) 變量定義; Begin Return 值; End 函數名;可以省略INOUTIN OUTISAS Return 數據類型缺省4. 存儲過程例外處置(EXCEPTION)在PL/SQL中,警告信息、出錯信息、或前往信息統稱為例外(Exception)。Oracle中有兩種類型的例外。預定義的例外: 是由PL/SQL運轉過程中,系統自動產生的信息。用戶自定義例外: 是用戶根據需求,本人定義運用的例外,執行時 由用戶本人引起。Oracle預定義的常用例外:CURSOR_

3、ALREADY_OPEN VALUE_ERRORNO_DATA_FOUND INVALID_NUMBERTOO_MANY_ROWS ZERO_DIVIDEINVALID_CURSOR用戶自定義例外 用戶定義的例外必需在DECLARE段中闡明,在Begin段中用RAISE引 起,在EXCEPTION段中運用。5. SQL語句執行結果: 在處置SQL時,這類音訊所運用的SQL語句包括: INSERT ,UPDATE,DELETE子句。執行結果屬性: SQL%FOUND SQL%NOTFOUND SQL%ROWCOUNT例外處置方法:Begin update emp set sal=1200 whe

4、re empno=1234; if SQL%NOTFOUND then insert into Errors(empno,sal) values(1234,1200); end if;End;存儲過程例外處置(EXCEPTION)6. 存儲過程例外處置(EXCEPTION)例外的運用DeclareBeginException When NO_DATA_FOUND THEN When CURSOR_ALREADY_OPEN THEN When TOO_MANY_ROWS THEN . When OTHERS THEN .END;例外段在Exception段中對前往信息一一作出呼應7. 存儲過程例

5、外處置(EXCEPTION)用戶定義例外的運用Declare out_of_range EXCEPTION;Begin if v_sal MAX_SAL then RAISE out_of_range; end if; Exception When NO_DATA_FOUND THEN When CURSOR_ALREADY_OPEN THEN When TOO_MANY_ROWS THEN . When out_of_range THEN .END;例外段在Declare段定義在Begin段中引起在Exception段中運用8.Package 包的設計 9.創建包(Create Packag

6、e)Create or Replace Package 包名 Procedure 過程名(); Function 函數名() Return 數據類型; 變量定義; 例外定義; 光標定義; ; End 包名;定義公共元素ISAS10.創建包體(Create Package Body)Create or Replace Package Body 包名 Procedure 過程定義; Procedure 過程定義; Function 函數定義; Function 函數定義; ; End 包名;ISAS11.創建包12.創建包體1-定義過程13.創建包體23-定義過程14.包的調用15.Oracle

7、Database Trigger 數據庫觸發器設計 16. 數據庫觸發器作用防止非法的數據庫支配、維護數據庫平安對數據庫的操作進展審計,存儲歷史數據完成數據庫初始化處置控制數據庫的數據完好性進展相關數據的修正完成數據復制自動完成數據庫統計計算限制數據庫操作的時間、權限等,控制實體的平安性。17. 數據庫觸發器與存儲過程比較:數據庫觸發器是在進展數據支配時自動觸發的,存儲過程要經過程序調用。在數據庫觸發器中可以調用存儲過程、函數。在觸發器中制止運用COMMIT 、ROLLBACK語句,存儲過程中可以運用PL/SQL中可以運用的全部SQL語句。在觸發器中不得間接調用含有COMMIT、ROLLBACK語句的存儲過程。18.創建語句級觸發器Create or Replace Trigger 觸發器名 Before Insert After Delete On 表名 Update of Declare . Begin End;PL/SQL塊SQL19.創建行級觸發器Create or Replace Trigger 觸發器名 Before Insert After Delete On 表名 Update of FOR EACH ROW Declare . Begin End;PL/SQL塊SQL20. 創建行級觸發器:當觸發器曾經存在時,運用Replace選項。Update中的of是

溫馨提示

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

評論

0/150

提交評論