2011년 6월 1일 수요일

멀티로우 반납하는 펑션

[질문]
여러개의 seletc 결과(record)를 return하는 function 작성하는 법 알려시면 감사^^

[답변]
SYS_REFCURSOR 를 이용한 방법이나 ref cursor 를 이용한 방법으로 구현할 수 있습니다.

다만 이렇게 작성된 펑션을 테스트하실때 oracle 8i 이하 버젼의 sqlplus 에서는
에러를 만나게되므로 oracle 9i 이상 sqlplus 에서는 결과를 확인하시기 바랍니다.

방법 1
CREATE OR REPLACE FUNCTION multi_func(no NUMBER)
RETURN SYS_REFCURSOR
IS
cur SYS_REFCURSOR;
BEGIN
open cur for
select empno
from emp
where deptno=no;

return cur;
null;
END;
/

select multi_func(10) empno from dual;


방법 2
첨부파일 참조

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...