여러개의 seletc 결과(record)를 return하는 function.. 6 1 10,302

by 김정식 [2003.02.17 00:00:00]





이 글은 en-core.com 온라인 기술자문에 이이구님께서 작성하신 내용 입니다. 


[질문]
여러개의 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

첨부화일 참조

by 손님 [2006.02.02 10:53:16]
델파이,파워빌더,asp,toad등에서는 어떻게 결과을 얻을 수 있는지요?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입