하나 이상의 데이터값을 갖는 데이터 타입으로 배열과 비슷한 역할을 하고 재사용이 가능하다. %ROWTYPE 데이터 형과, PL/SQL테이블과 레코드는 복합 데이터 타입에 속한다.
%ROWTYPE
테이블이나 뷰 내부의 컬럼 데이터형, 크기, 속석등을 그대로 사용 할 수 있다.
%ROWTYPE 앞에 오는 것은 데이터베이스 테이블 이름이다.
지정된 테이블의 구조와 동일한 구조를 갖는 변수를 선언 할 수 있다.
데이터베이스 컬럼들의 수나 DATATYPE을 알지 못할 때 편리 하다.
테이블의 데이터 컬럼의 DATATYPE이 변경 될 경우 프로그램을 재수정할 필요가 없다.
%ROWTYPE 예제
SQL>CREATE OR REPLACE PROCEDURE RowType_Test ( p_empno IN emp.empno%TYPE ) IS -- %ROWTYPE 변수 선언, -- emp테이블의 속성을 그대로 사용할 수 있다. 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; / -- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; -- 실행 결과 SQL> EXECUTE RowType_Test(7900); 사원번호 : 7900 사원이름 : JAMES 입 사 일 : 81/12/03 PL/SQL 처리가 정상적으로 완료되었습니다.
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1046
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > 오라클' 카테고리의 다른 글
Oracle PL/SQL 강좌 3.2.3. PL/SQL 레코드 (0) | 2015.11.24 |
---|---|
Oracle PL/SQL 강좌 3.2.2. PL/SQL 테이블 (0) | 2015.11.24 |
Oracle PL/SQL 강좌 3.1. 스칼라 데이터 타입 (0) | 2015.11.24 |
Oracle PL/SQL 강좌 2.2. 함수(FUNCTION) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 2.1. 프로시저(PROCEDURE) (0) | 2015.11.24 |