共計 1006 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹了 oracle 中存儲函數與存儲過程的示例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
一:存儲過程:簡單來說就是有名字的 pl/sql 塊。
語法結構:
create or replace 存儲過程名(參數列表)
is
-- 定義變量
begin
--pl/sql
end;
案例:
create or replace procedure add_(a int,b int)
is
c int;
begin
c:=a+b;
dbms_output.put_line(c);
end;
調用存儲過程
declare
begin
add_(12,34);
end;
存儲過程的三種類型參數:
輸入參數(默認)in
輸出參數 out
輸入輸出參數 in out
函數定義
語法結構:
create or replace function 函數名(參數列表) return 類型
is
begin
end;
案例:
create or replace function f1(n1 dec,n2 dec) return dec
is
r dec(19,2);
begin
r:=n1/n2;
return r;
exception
when zero_pide then
dbms_output.put_line( 除數不能為 0
return 0;
end;
存儲過程與存儲函數的區別和聯系:
相同點:1. 創建語法結構相似,都可以攜帶多個傳入參數和傳出參數;
2. 都是一次編譯,多次運行;
不同點:1. 存儲過程定義關鍵字用 procedure,函數定義用 function;
2. 存儲過程中不能用 return 返回值,但函數中可以,而且函數中必須有 return 返回;
3. 執行方式略有不同,存儲過程的執行方式有兩種 (1. 使用 execute;2. 使用 begin 和 end) 函數除了
存儲過程的兩種方式,還可以當做表達試使用,例如放在 select 中(select f1() from dual;)
總結:如果只有一個返回值,用存儲函數,否則,一般用存儲過程。
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“oracle 中存儲函數與存儲過程的示例”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!
向 AI 問一下細節