사용자 정의 타입
자주 사용하는 컬렉션 타입을 미리 정의해놓고 사용하는 것.
사용자 정의 타입으로 사용할 수 있는 컬렉션 타입은 VARRAY와 중첩 테이블뿐이며, 컬렉션은 아니지만 OBJECT도 사용할 수 있다.
선언방법
VARRAY
1 | CREATE OR REPLACE TYPE 타입명 IS VARRAY(최대크기) OF 값타입; | cs |
중첩테이블
1 | CREATE OR REPLACE TYPE 타입명 IS TABLE OF 값타입; | cs |
OBJECT
1 2 3 4 5 | CREATE OR REPLACE TYPE 타입명 IS OBJECT ( 멤버1 멤버1_데이터타입, 멤버2 멤버2_데이터타입, ... ); | cs |
예제
1 2 | CREATE OR REPLACE TYPE CH11_VA_TYPE IS VARRAY(5) OF VARCHAR2(20); CREATE OR REPLACE TYPE CH11_NT_TYPE IS TABLE OF VARCHAR2(20); | cs |
1 2 3 4 5 6 7 8 9 10 | DECLARE VVA_TEST CH11_VA_TYPE; VNT_TEST CH11_NT_TYPE; BEGIN VVA_TEST := CH11_VA_TYPE('FIRST', 'SECOND', 'THIRD', '', ''); VNT_TEST := CH11_NT_TYPE('FIRST', 'SECOND', 'THIRD', ''); DBMS_OUTPUT.PUT_LINE('VARRAY의 첫번째 요소값 : ' || VVA_TEST.FIRST); DBMS_OUTPUT.PUT_LINE('중첩테이블의 첫번째 요소값 : ' || VNT_TEST.FIRST); END; | cs |
반응형
'📃 DATABASE > ORACLE' 카테고리의 다른 글
[PL/SQL] 패키지 데이터 (0) | 2018.02.21 |
---|---|
[PL/SQL] 패키지(PACKAGE) (1) | 2018.02.19 |
[PL/SQL] 컬렉션 메서드 (0) | 2018.02.12 |
[PL/SQL] 컬렉션(COLLECTION) (0) | 2018.02.11 |
[PL/SQL] 레코드(RECORD) : 커서형 레코드, 중첩 레코드 (0) | 2018.02.10 |