SQL自定義函式

2022-10-10 22:18:22 字數 1366 閱讀 3239

--.自定義函式

--語法:

create

orreplace

function fun_函式名(引數1 資料型別,引數2,[

in|out|in out

]資料型別……)

return

+返回的資料型別is|

asbegin

--邏輯體

--裡面必須要有乙個return子句

end;

--對比儲存過程

create

orreplace

procedure sp_儲存過程名(引數) is/as

begin

--邏輯體

end;

--注意:

--1.自定義函式的命名:以f_或者fun_開頭。

--2.自定義函式的引數和儲存過程的引數一樣,在建立時都不能寫大小,只能寫資料型別。

--3.自定義函式也有傳入引數,傳出引數,傳入傳出引數。

---【例】建立自定義函式,實現兩個值的加和

create

orreplace

function fun_sum(p_a number,p_b number

)return

number

asv_sum

number; --

宣告乙個變數,用來賦值。

begin

v_sum :

= p_a+

p_b;

return

v_sum;

end;

--呼叫自定義函式

--自定義函式需要在查詢中呼叫

select fun_sum(3,5) from dual;

----【例】編寫自定義函式,實現計算員工的年收入,通過輸入員工編號,進行計算

create

orreplace

function fun_income(p_empno number

) return

number

asv_income

number

;begin

select (sal+nvl(comm,0))*

12into

v_income

from

empwhere empno =

p_empno;

return

v_income;

end;

--呼叫自定義函式

select ename, fun_income(7788) from emp where empno=

7788;

SQL自定義函式

建立使用者自定義函式 標量函式 create function dbo.bmrs bmh as int returns int asbegin declare bmrs int select bmrs count 工號 from 銷售人員where 部門號 bmh return bmrs endgo...

sql 自定義函式

delimiter create definer function woshow try aid bigint returns bigint 20 language sql not deterministic sql security comment string begin if aid 0 th...

SQL自定義函式

自定義函式與儲存過程的區別 存在的意義 1.能夠在select等sql語句中直接使用自定義函式,儲存過程不行。2.自定義函式可以呼叫其他函式,也可以呼叫自己 遞迴 3.可以在表列和check 約束中使用自定義函式來實現特殊列或約束 4.自定義函式不能有任何 函式 是指對具有函式外作用域 例如資料庫表...