DECLARE
TYPE students IS TABLE OF VARCHAR2(20)
INDEX BY PLS_INTEGER;
v_students students;
BEGIN
v_students(1) = '김철수';
v_students(2) = '김영미';
v_students(3) = '아무개';
END;
/
안녕하세요.
저는 배열 타입의 컬럼을 포함하는 테이블을 생성하고 싶습니다.
그래서 검색을 하다 보니 위와 같은 방법을 찾게 되었는데요.
문제는 위처럼 생성한 배열 변수를 아래와 같이 테이블의 컬럼으로 사용할 수 있는 방법을 잘 모르겠습니다.
어떻게 하면 배열 타입의 컬럼을 사용할 수 있을까요?
CREATE TABLE(
v_students
);
varray data type이란게 있긴하네요.. 예제 따라서 만들어봤습니다. 원하시는 게 맞는지 모르겠군요.
https://docs.oracle.com/cd/B28359_01/appdev.111/b28371/adobjcol.htm#i458789
SQL> CREATE TYPE student_typ AS OBJECT (student_name VARCHAR2(100)); 2 / Type created. SQL> CREATE TYPE student_varray_typ AS VARRAY(3) OF student_typ; 2 / Type created. SQL> CREATE TABLE mytab (student student_varray_typ); Table created. SQL> INSERT INTO mytab VALUES ( student_varray_typ ( student_typ ('김철수'), student_typ ('김영미'), student_typ ('아무개'))); 1 row created. SQL> select * from mytab; STUDENT(STUDENT_NAME) ---------------------------------------------------------------------------------------------------- STUDENT_VARRAY_TYP(STUDENT_TYP('김철수'), STUDENT_TYP('김영미'), STUDENT_TYP('아무개'))