%ROWTYPE
- 테이블이나 뷰 내부의 컬럼 데이터형, 크기, 속성 등을 그대로 사용 가능
- %ROWTYPE 앞에 오는 것은 데이터 베이스 테이블 이름이다
- 지정된 테이블의 구조와 동일한 구조를 갖는 변수 선언 가능
- 데이터베이스 컬럼들의 수나 DATATYPE을 알지 못할 때 편리
- 테이블의 데이터 컬럼의 DATATYPE 이 변경될 경우 프로그램을 재 수정할 필요 없음
%ROWTYPE 을 이용한 간단한 프로시져 예제를 들어보자
CREATE OR REPLACE PROCEDURE RowType_Test (p_empno IN emp.empno%TYPE)
IS
v_emp emp%ROWTYPE;
BEGIN
DBMS_OUTPUT.ENABLE;
-- %ROWTYPE 변수 사용
SELECT empno, ename, hiredate
INTO v_emp.empno, v_emp.ename, v_emp.hiredate
FROM emp WHERE empno = p_empno;
DBMS_OUTPUT.PUT_LINE('사원번호:' || v_emp.empno);
DBMS_OUTPUT.PUT_LINE('사원이름:' || v_emp.ename);
DBMS_OUTPUT.PUT_LINE('입 사 일:' || v_emp.hiredate);
END;
/
프로시져가 생성되었습니다.
실행 전에 우선 출력을 위해 설정할 것이 있다.
SET SERVEROUTPUT ON; -- DBMS_OUTPUT.PUT_LINE 을 출력하기 위해 사용
아래와 같이 실행 시키면
EXECUTE RowType_Test(7900) -- 7900은 p_empno 매개변수 값이다.
실행 결과
사원번호 : 7900
사원이름 : JAMES
입 사 일 : 81/12/03
PL/SQL 처리가 정상적으로 완료 되었습니다.
- 테이블이나 뷰 내부의 컬럼 데이터형, 크기, 속성 등을 그대로 사용 가능
- %ROWTYPE 앞에 오는 것은 데이터 베이스 테이블 이름이다
- 지정된 테이블의 구조와 동일한 구조를 갖는 변수 선언 가능
- 데이터베이스 컬럼들의 수나 DATATYPE을 알지 못할 때 편리
- 테이블의 데이터 컬럼의 DATATYPE 이 변경될 경우 프로그램을 재 수정할 필요 없음
%ROWTYPE 을 이용한 간단한 프로시져 예제를 들어보자
CREATE OR REPLACE PROCEDURE RowType_Test (p_empno IN emp.empno%TYPE)
IS
v_emp emp%ROWTYPE;
BEGIN
DBMS_OUTPUT.ENABLE;
-- %ROWTYPE 변수 사용
SELECT empno, ename, hiredate
INTO v_emp.empno, v_emp.ename, v_emp.hiredate
FROM emp WHERE empno = p_empno;
DBMS_OUTPUT.PUT_LINE('사원번호:' || v_emp.empno);
DBMS_OUTPUT.PUT_LINE('사원이름:' || v_emp.ename);
DBMS_OUTPUT.PUT_LINE('입 사 일:' || v_emp.hiredate);
END;
/
프로시져가 생성되었습니다.
실행 전에 우선 출력을 위해 설정할 것이 있다.
SET SERVEROUTPUT ON; -- DBMS_OUTPUT.PUT_LINE 을 출력하기 위해 사용
아래와 같이 실행 시키면
EXECUTE RowType_Test(7900) -- 7900은 p_empno 매개변수 값이다.
실행 결과
사원번호 : 7900
사원이름 : JAMES
입 사 일 : 81/12/03
PL/SQL 처리가 정상적으로 완료 되었습니다.
'IT정보' 카테고리의 다른 글
SQL Loader란? (0) | 2008.07.15 |
---|---|
PL/SQL 테이블을 이용한 예제 Procedure(프로시져) (0) | 2008.07.09 |
%TYPE 속성을 이용한 Procedure(프로시져) 기본 예제 (0) | 2008.07.09 |
Eclipse에 Tomcat 연동하기 (0) | 2008.07.08 |
tnsnames.ora 설정하기 & Oracle Client 접속서버 설정하기 (0) | 2008.07.08 |