2009년 8월 16일 일요일

Type, Rowtype

%type : 테이블에 있는 하나의 컬럼의 자료형을 대신 표현

▶ 데이터 유형을 찾기 귀찮아서

     ▶ 향후 ALTER TABLE문에 의해 COLUMN 정의가 바뀌었을 경우를 대비

   

%rowtype : 테이블에 있는 전체 컬럼의 자료형을 모두 사용

▶ VECTOR or ROW 1개를 저장할 변수 집합

   

S SCOTT> r

  1  declare

  2  enamex emp.ename%type;

  3  deptx dept%rowtype;

  4  begin

  5     enamex := 'Blake';

  6     deptx.deptno := 52;

  7     deptx.dname := 'sales2';

  8     deptx.loc := 'seoul';

  9     dbms_output.put_line(enamex || deptx.dname);

 10* end;

Blakesales2

PL/SQL procedure successfully completed.

   

▣ 부서번호를 Argument로 입력받아 해당 부서의 이름과 위치를 출력하는 procedure를 만드시오

S SCOTT> get depts

create or replace procedure dep(

        dn dept.deptno%type

) as

        depts dept%rowtype;

begin

        select dname,loc into dep.dname,dep.loc from dept where deptno=dn;

        dbms_output.put_line('dname='||depts.dname);

        dbms_output.put_line('location='||depts.loc);

end;

/

   

S SCOTT> exec dep(10);

dname=ACCOUNTING

location=NEW YORK

PL/SQL procedure successfully completed.

   

   

댓글 없음:

댓글 쓰기