PL/SQL TABLE변수 선언과 비슷하며 데이터타입을 %ROWTYPE으로 선언하면 된다.
PL/SQL TABLE과 RECORD의 복합 기능을 한다.
PL/SQL Table Of Record 문법
-- 선언 예제 TYPE dept_table_type IS TABLE OF dept%ROWTYPE INDEX BY BINARY_INTEGER; -- Each element of dept_table is a record dept_table dept_table_type; -- 아래 프로시저에서 사용된 예제를 보면 이해가 쉽게 갈 것이다.
PL/SQL Table Of Record 예제
CREATE OR REPLACE PROCEDURE Table_Test IS i BINARY_INTEGER := 0; -- PL/SQL Table of Record의 선언 TYPE dept_table_type IS TABLE OF dept%ROWTYPE INDEX BY BINARY_INTEGER; dept_table dept_table_type; BEGIN FOR dept_list IN (SELECT * FROM dept) LOOP i:= i+1; -- TABLE OF RECORD에 데이터 보관 dept_table(i).deptno := dept_list.deptno ; dept_table(i).dname := dept_list.dname ; dept_table(i).loc := dept_list.loc ; END LOOP; FOR cnt IN 1..i LOOP -- 데이터 출력 DBMS_OUTPUT.PUT_LINE( '부서번호 : ' || dept_table(cnt).deptno || '부서명 : ' || dept_table(cnt).dname || '위치 : ' || dept_table(cnt).loc ); END LOOP; END; / SQL> SET SERVEROUTPUT ON ; SQL> EXECUTE Table_test; 부서번호 : 10부서명 : ACCOUNTING위치 : NEW_YORK 부서번호 : 20부서명 : RESEARCH위치 : DALLAS 부서번호 : 30부서명 : 인사과위치 : CHICAGO 부서번호 : 40부서명 : OPERATIONS위치 : BOS%TON PL/SQL 처리가 정상적으로 완료되었습니다.
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1049
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > 오라클' 카테고리의 다른 글
Oracle PL/SQL 강좌 4.2. UPDATE (1) | 2015.11.24 |
---|---|
Oracle PL/SQL 강좌 4.1. INSERT (0) | 2015.11.24 |
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.2.1. %ROWTYPE (0) | 2015.11.24 |