[펌글][Oracle] %TYPE 데이터형 (컬럼 데이터 타입)

By | 11월 9, 2009


%TYPE 데이터형


%TYPE 데이터형은 기술한 데이터베이스 테이블의 컬럼 데이터 타입을 모를 경우 사용할 수 있고,

또. 코딩이후 데이터베이스 컬럼의 데이터 타입이 변경될 경우 다시 수정할 필요가 없습니다.

이미 선언된 다른 변수나 데이터베이스 컬럼의 데이터 타입을 이용하여 선언합니다.

 데이터 베이스 테이블과 컬럼 그리고 이미 선언한 변수명이 %TYPE앞에 올수 있습니다.

%TYPE 속성을 이용하여 얻을 수 있는 장점
   - 기술한 DB column definition을 정확히 알지 못하는 경우에 사용할 수 있습니다.
   - 기술한 DB column definition이 변경 되어도 다시 PL/SQL을 고칠 필요가 없습니다.
 

예제
v_empno  emp.empno%TYPE := 7900 ;
v_ename emp.ename%TYPE;
 

예제 프로시져..

SQL>CREATE OR REPLACE PROCEDURE Emp_Info
      -- IN Parameter
      ( p_empno IN emp.empno%TYPE )

        IS

        -- %TYPE 데이터형 변수 선언
        v_empno emp.empno%TYPE;
        v_ename emp.ename%TYPE;
        v_sal   emp.sal%TYPE;

        BEGIN

        DBMS_OUTPUT.ENABLE;

        -- %TYPE 데이터형 변수 사용
        SELECT empno, ename, sal
        INTO v_empno, v_ename, v_sal  
        FROM emp
        WHERE empno = p_empno ;

        -- 결과값 출력
        DBMS_OUTPUT.PUT_LINE( '사원번호 : ' || v_empno );
        DBMS_OUTPUT.PUT_LINE( '사원이름 : ' || v_ename );
        DBMS_OUTPUT.PUT_LINE( '사원급여 : ' || v_sal );

        END;
       /

프로시져가 생성되었습니다.

SQL>SET SERVEROUTPUT ON;     --  DBMS_OUTPUT 결과값을 화면에 출력 하기위해

실행 결과
SQL> EXECUTE Emp_Info(7369);

사원번호 : 7369
사원이름 : SMITH
사원급여 : 880
 
PL/SQL 처리가 정상적으로 완료되었습니다.
 

 - 출처 -
  ================================================
    * 오라클 정보공유 커뮤니티 oracleclub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 운영자 : 김정식 (oramaster _at_ naver.com)
  ================================================

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments