語法
create or replace function 函式名(name in type, name in type, ...) return 資料型別 is
結果變數 資料型別;
begin
return(結果變數);
end 函式名;
儲存過程和儲存函式的區別
一般來講,過程和函式的區別在於函式可以有乙個返回值;而過程沒有返回值。但過程和函式都可以通過 out 指定乙個或多個輸出引數。我們可以利用 out 引數,在過程和函式中實現返回多個值。
範例:使用儲存函式來查詢指定員工的年薪
create or replace function empincome(eno in emp.empno%type) return
number is
psal emp.sal%type;
pcomm emp.comm%type;
begin
select t.sal into psal from emp t where t.empno = eno;
return psal * 12 + nvl(pcomm, 0);
end;
使用儲存過程來替換上面的例子
create or replace procedure empincomep(eno in emp.empno%type,
income out number) is
psal emp.sal%type;
pcomm emp.comm%type;
begin
select t.sal, t.comm into psal, pcomm from emp t where t.empno
= eno;
income := psal*12+nvl(pcomm,0);
end empincomep;
呼叫:
declare
income number;
begin
empincomep(7369, income);
dbms_output.put_line(income);
end;
快速學習Oracle 儲存過程
儲存過程 stored procedure 是在大型資料庫系統中,一組為了完成特定功能的 sql 語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。儲存過程是資料庫中的乙個重要物件,任何乙個設計良好的資料庫應用程式都應該用到儲存過程。建立儲存過...
Oracle儲存過程,儲存函式的學習
一 儲存過程procedure 基本建立的方式create or replace procedure procedure name param name param type.as 在儲存過程 函式中as與is沒有區別,游標只能用is,檢視只能用as declare params begin end...
Oracle 儲存函式
查詢指定員工年薪 create orreplace function func getsal vempno number return number is 宣告變數,儲存年薪 vnum number begin 根據傳入值vempno查詢年薪,並賦值給變數vnum nvl進行獎金判斷是否為空 sel...