PL/SQL存儲函數

1.描述怎麼創建一個簡單的存儲函數

我們可以直接做DML來對錶進行操作,但是我們有時候卻需要一個統一的方式來把操作集中起來,可以類比java中方法的概念;

2.創建過程

CREATE [OR REPLACE] FUNCTION function_name 
[ (argment [ { IN | IN OUT }] Type,   
argment [ { IN | OUT | IN OUT } ] Type ] 
 [ AUTHID DEFINER | CURRENT_USER ] 
RETURN return_type   
{ IS | AS }   
<類型.變量的說明>
  BEGIN  
<span style="white-space:pre">	</span>FUNCTION_body
 EXCEPTION  
其它語句  
END;

關於out參數:

 IN 參數 標記表示傳遞給函數的值在該函數執行中不改變; OUT 標記表示一個值在函數中進行計算並通過該參 數傳遞給調用語句; IN OUT 標記表示傳遞給函數的值可以變化並傳遞給調用語句. 若省略標記, 則參數 隱含爲 IN

這個是說明:簡單來說就是:

無參的函數:

create or replace function name
return  varchar2
is
v_sal number;
begin 
select sal into v_sal from emp where ename='A';
end ;


有參數

create or replace function name(v_ename emp.ename%type)
return  varchar2
is
v_sal number;
begin 
select sal into v_sal from emp where ename=v_ename;
end ;


簡單來說,就是這個樣子,如果要跟複雜的操作,就自己手敲吧

存儲過程語法:

CREATE [OR REPLACE] PROCEDURE Procedure_name
 [ (argment [ { IN | IN OUT }] Type,       
argment [ { IN | OUT | IN OUT } ] Type ] 
 [ AUTHID DEFINER | CURRENT_USER ] 
{ IS | AS } <類型.變量的說明> 
 BEGIN <執行部分>
 EXCEPTION <可選的異常錯誤處理程序>
 END; 


和函數一致,只是存儲過程沒有返回值;

發佈了34 篇原創文章 · 獲贊 24 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章