%TYPE 데이터형
- %TYPE 데이터형은 기술한 데이터베이스 테이블의 컬럼 데이터 타입을 모를 경우 사용가능
- 코딩 이후 데이터베이스 컬럼의 데이터 타입이 변경될 경우 다시 수정할 필요가 없다
- 이미 선언된 다른 변수나 데이터베이스 컬럼의 데이터 타입을 이용하여 선언한다.
- 데이터 베이스 테이블과 컬럼 그리고 이미 선언한 변수명이 %TYPE 앞에 올 수 있다.
%TYPE 속성을 이용하여 얻을 수 있는 장점
- 기술한 DB column definition 을 정확히 알지 못하는 경우
- 기술한 DB column definition 이 변경 되어도 다시 PL/SQL 을 고칠 필요가 없다
이제 기본적으로 작성되어있는 Emp테이블을 이용해 기본적인 PL/SQL 문을 작성해 보자.
CREATE OR REPLACE PROCEDURE Emp_Info (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;
/
이렇게 코딩 작성이 끝나면 프로시져가 생성된다.
SET SERVEROUTPUT ON -- DBMS_OUTPUT 결과값을 화면에 출력하기 위해
(툴에서는 상관없다. 콘솔 창에서 결과값이 출력이 안될 수 있기 때문에..)
<실행>
EXECUTE Emp_Info(7369) -- 7369는 위에서 선언 했던 p_empno를 매개변수로 받는 값이다.
위와 같이 실행 시키면
사원번호 : 7369
사원이름 : SMITH
사원급여 : 880
PL/SQL 처리가 정상적으로 완료되었습니다.
'IT정보' 카테고리의 다른 글
PL/SQL 테이블을 이용한 예제 Procedure(프로시져) (0) | 2008.07.09 |
---|---|
%ROWTYPE 속성을 이용한 Procedure(프로시져) 기본 예제 (0) | 2008.07.09 |
Eclipse에 Tomcat 연동하기 (0) | 2008.07.08 |
tnsnames.ora 설정하기 & Oracle Client 접속서버 설정하기 (0) | 2008.07.08 |
Tomcat 설치 (0) | 2008.07.08 |