%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)
================================================