儲存過程的初步認識

2021-08-06 04:48:28 字數 1276 閱讀 3551

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...