1、建立和刪除儲存過程
建立儲存過程,需要有create procedure或create any procedure的系統許可權。該許可權可由系統管理員授予。建立乙個儲存過程的基本語句如下:
create [or replace] procedure 儲存過程名
[(引數[in|out|in
out] 資料型別...)]
[說明部分]
begin
可執行部分
[exception
錯誤處理部分]
end [過程名];
其中:
可選關鍵字or replace 表示如果儲存過程已經存在,則用新的儲存過程覆蓋,通常用於儲存過程的重建。
引數部分用於定義多個引數(如果沒有引數,就可以省略)。引數有三種形式:in、out和in out。如果沒有指明引數的形式,則預設為in。
關鍵字as也可以寫成is,後跟過程的說明部分,可以在此定義過程的區域性變數。
編寫儲存過程可以使用任何文字編輯器或直接在sql*plus環境下進行,編寫好的儲存過程必須要在sql*plus環境下進行編譯,生成編譯**,原**和編譯**在編譯過程中都會被存入資料庫。編譯成功的儲存過程就可以在oracle環境下進行呼叫了。
2、乙個儲存過程在不需要時可以刪除。刪除儲存過程的人是過程的建立者或者擁有drop any procedure系統許可權的人。刪除儲存過程的語法如下:
drop procedure 儲存過程名;
如果要重新編譯乙個儲存過程,則只能是過程的建立者或者擁有alter any procedure系統許可權的人。語法如下:
alter procedure 儲存過程名 compile;
3、執行
執行(或呼叫)儲存過程的人是過程的建立者或是擁有execute any procedure系統許可權的人或是被擁有者授予execute許可權的人。執行的方法如下:
方法1:
execute 模式名.儲存過程名[(引數...)];
方法2:
begin
模式名.儲存過程名[(引數...)];
end;
傳遞的引數必須與定義的引數型別、個數和順序一致(如果引數定義了預設值,則呼叫時可以省略引數)。引數可以是變數、常量或表示式。
如果是呼叫本賬戶下的儲存過程,則模式名可以省略。要呼叫其他賬戶編寫的儲存過程,則模式名必須要新增。(模式名即建立儲存過程的使用者名稱)
認識儲存過程
定義 sql語句執行的時候要先編譯,然後執行。儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。優點 允許模組化程式設計,只需建立一次儲存過程,並將其儲存在資料庫中,以後...
儲存入門 初步認識
開放系統的直連式儲存 direct attached storage 簡稱das 已經有近四十年的使用歷史,隨著使用者資料的不斷增長,尤其是數百 gb以上時,其在備份 恢復 擴充套件 災備等方面的問題變得日益困擾系統管理員。主要問題和不足為 直連式儲存依賴伺服器主機作業系統進行資料的 io讀寫和儲存...
儲存過程學習 1 認識
軟體 pl sql developer 1 新建sql視窗,輸入如下 create or replace procedure skeleton isbegin null end 儲存為skeleton.sql 2 新建命令視窗,輸入並執行 sql execute skeleton pl sql pr...