科普信息網

oracle存儲過程是什么 注意事項有哪些

發布時間:2022-02-17 16:08:31 來源:PHP中文網 責任編輯:caobo

在oracle中,存儲過程是為了完成特定功能的SQL語句集,編譯后存儲在數據庫中,用戶通過指定存儲過程名字并給出參數來執行它;語法格式為“create or replace procedure 存儲過程名”。

Oracle存儲過程包含三部分:過程聲明,執行過程部分,存儲過程異常(可寫可不寫,要增強腳本的容錯性和調試的方便性那就寫上異常處理)

存儲過程它的使用主要是完成一項復雜的功能,如果直接使用sql語句則每次都需要進行編譯,而存儲過程只需要編譯一次,以后直接調用即可,它的語法為

create or replace procedure procedure_name

as

begin

extention;

end;

/

行1:

CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle數據庫去創建一個叫做skeleton存儲過程, 如果存在就覆蓋它;

行2:

IS關鍵詞表明后面將跟隨一個PL/SQL體。

行3:

BEGIN關鍵詞表明PL/SQL體的開始。

行4:

NULL PL/SQL語句表明什么事都不做,這句不能刪去,因為PL/SQL體中至少需要有一句;

行5:

END關鍵詞表明PL/SQL體的結束

存儲過程創建語法:

create or replace procedure 存儲過程名(param1 in type,param2 out type)

as

變量1 類型(值范圍); --vs_msg VARCHAR2(4000);

變量2 類型(值范圍);

Begin

Select count(*) into 變量1 from 表A where列名=param1;

If (判斷條件) then

Select 列名 into 變量2 from 表A where列名=param1;

Dbms_output。Put_line(‘打印信息’);

Elsif (判斷條件) then

Dbms_output。Put_line(‘打印信息’);

Else

Raise 異常名(NO_DATA_FOUND);

End if;

Exception

When others then

Rollback;

End;

注意事項:

1, 存儲過程參數不帶取值范圍,in表示傳入,out表示輸出

類型可以使用任意Oracle中的合法類型。

2, 變量帶取值范圍,后面接分號

3, 在判斷語句前最好先用count(*)函數判斷是否存在該條操作記錄

4, 用select 。。。into。。。給變量賦值

5, 在代碼中拋異常用 raise+異常名

標簽: oracle存儲過程 注意事項 存儲過程

上一篇:科普常識干貨區:堆和棧的區別是怎樣的?
下一篇:最后一頁

新聞排行