Oracle/PL/SQL

15일차 # 1-6

Bohemian life 2012. 4. 24. 22:02

        create or replace procedure up_emp_ename_sal (

   a in  emp.empno%type

 , b out emp.ename%type

 , c out emp.sal%type

)

is

begin

 select ename, sal into b, c

 from emp

 where empno = a;

end;

/


  --------------

  > 사용방법 1 <

  --------------


var g_empno number

exec :g_empno := 7788


var g_ename varchar2(30)

var g_sal   number


exec up_emp_ename_sal(:g_empno, :g_ename, :g_sal)                  --> positional

print g_ename g_sal


exec up_emp_ename_sal(a => :g_empno, c => :g_sal, b => :g_ename)   --> named

print g_ename g_sal


exec up_emp_ename_sal(:g_empno, c => :g_sal, b => :g_ename)        --> combination

print g_ename g_sal


  --------------

  > 사용방법 2 <

  --------------


set serveroutput on


declare

 v_ename emp.ename%type;

 v_sal   emp.sal%type;

begin

 up_emp_ename_sal(7788, v_ename, v_sal);

 p(v_ename);

 p(v_sal);

end;

/