티스토리 뷰

반응형
참고 URL = http://scidb.tistory.com/69

아래 순서대로 하면 됩니다.

1. 스칼라서브쿼리가 리턴할 자료형 생성 (C의 구조체 같은 느낌..) 
create or replace type dept_type as object
(
     dept_cd  char(10),
     dept_nm name varchar2(50)
);

2. 스칼라서브쿼리에서 리턴받을때 Arrary로 받기때문에 Array Object 생성
create or replace type array_dept
as varray(1) of dept_type ;   <--리턴되는 row가 여러개면 varray size를 늘려줌.

3. 쿼리 작성
select *
from (
select  a.id
                      ,a.name

                      ,cast(multiset (select  dept_cd
                                                      dept_nm
                                            from dept b
                                            where b.dept_cd = a.dept_cd

                                           ) as array_dept
                           ) as dept_info
            from member a
  );

// 위의 경우처럼 작성하는 일은 없겠지만 이해를 돕기 위해 쉽게 응용했습니다.
참고 URL에서 처음본 기능인데 너무 인상이 깊어서 정리할겸해서 글을 적어 보았습니다.

          
           
반응형