by 구루비 TABLE OF RECORD DBMS_OUTPUT PUT_LINE 복합 데이터 타입 [2002.01.20]
PL/SQL TABLE변수 선언과 비슷하며 데이터타입을 %ROWTYPE으로 선언하면 된다.
PL/SQL TABLE과 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; -- 아래 프로시저에서 사용된 예제를 보면 이해가 쉽게 갈 것이다.
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
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.
이타입을 다른 프로시져로 재사용하려면?