SooBlending

[Oracle] PL/SQL 패키지(Package) 본문

Programming/DataBase

[Oracle] PL/SQL 패키지(Package)

블랜더 2017. 11. 13. 12:06

<패키지(Package)>

- 동일한 프로시저명 또는 함수명을 구분

  (NameSpace개념)

  

--------------------패키지 선언--------------------------- 

 create or replace package 패키지명

 is

   정의될 저장프로시저와 저장함수

 end;

 /

--------------------패키지 실행(body)--------------------------- 

 create or replace package body 패키지명

 is

   저장프로시저와 저장함수 정의

 end;

 /

 

실행)   EXEC[UTE] 패키지명.저장프로시저명 



--------------------패키지 선언--------------------------- 

 create or replace package encore

 is

    procedure del_dept(vdeptno number);

    function call_bonus(vename  emp.ename%type) return number;

 end;

 /

--------------------패키지 실행(body)--------------------------- 

 create or replace package body encore

 is

   -- 특정부서 삭제 프로시저

   procedure del_dept(vdeptno number)

is

begin  

   delete from dept3 

   where deptno=vdeptno;

   dbms_output.put_line('#'||vdeptno||'번 부서를 삭제하였습니다!!');

end;

-- 특정사원의 보너스 얻는 함수

  function call_bonus(vename  emp.ename%type)

return number

is

  vsal emp.sal%type;

  bonus number;

begin

select sal into vsal

from emp

where ename=vename;

bonus := vsal*2;

return bonus;

end;

   

 end;

 /

Comments