創建函數:
格式:create or replace function func(參數 參數類型)
Return number
Is
Begin
--------業務邏輯---------
End;
--創建函數 create or replace function func (dno number) return number is t_max number; begin select max(sal) into t_max from emp t where deptno = dno; return t_max; end ; --調用存儲過程和調用函數的例子(區別) declare t_maxsal number; begin t_maxsal:=func(10); dbms_output.put_line(t_maxsal); dbms_output.put_line(func(10)); end; create or replace procedure proc(dno in number,maxsal out number) is t_maxsal number; begin select max(sal) into t_maxsal from emp where deptno = dno; maxsal:=t_maxsal; end; declare t_sal number := 0; begin proc(10,t_sal); dbms_output.put_line(t_sal); end; create or replace function func(a number, a number) return number is t_result number := 0; begin t_result:=a + b; return t_result; end; begin dbms_output.put_line(func(10, 20)); end;
--刪除函數 drop function func;
--刪除存儲過程 drop procedure proc; --創建包(包里可以寫存儲過程和函數) create or replace package pack procedure proadd(a number, b number) procedure prosub(a number, b number) end pack; begin pack.proadd(3,1); pack.prosub(3,2); end;
注:以上調用都是指在plsql里的sql窗口調用