CURSOR 커서 사용 패키지 테스트... 0 5 2,478

by 하록 [2008.06.10 14:57:02]


패키지에서 리턴한 커서를 output 으로 받아서
이를 출력하고 싶은데요.. 아래처럼 PL/SQL 에서 테스트를 하는데...
out으로 받은 O_CURSOR을 어떻게 출력해야 할지 모르겠습니다....
많은 검색을 해봤지만...이에대한 답변은 안보이더군여....;;
(추신: 된장님 좀 도와주십쇼~ ㅋㅋ)

DECLARE
  I_MEMBER_NO NUMBER;
  O_CURSOR CPACCOUNTDB.PKG_MEMBER_ADDRESS_INFO.PKG_CS;
  O_SP_RTN NUMBER;

BEGIN
 
  I_MEMBER_NO := 3;
  -- O_CURSOR := NULL;  Modify the code to initialize this parameter
  O_SP_RTN := NULL;

  CPACCOUNTDB.PKG_MEMBER_ADDRESS_INFO.GWS_MEMBER_ADDRESS_READLIST ( I_MEMBER_NO, O_CURSOR, O_SP_RTN );
  COMMIT;

END;

by 된장 [2008.06.11 08:06:02]
프로시저 잘모르는데 왜 나에여...ㅠㅠ......물어보실려면...마농님 채용근님 현님 findcomp님이나 다른 고수님두 많은데여...난 몰라여..ㅎㅎ...

by 된장 [2008.06.11 08:39:55]
그냥 개념상으로 보면요..
위에 커서를 패키지로 받았을 테니까요...
for 레코드_네임 in o_cursor loop
-- 이안에 출력하는 것을 넣고..DBMS_output.Put_line 정도...
end loop;
이렇게 하면 개념적으로 가능할 듯 한데요..

by 된장 [2008.06.11 08:41:41]
예제로 하나 가져와 봤는데요...
DECLARE
result temp.col1%TYPE;
CURSOR c1 IS
SELECT n1, n2, n3 FROM data_table WHERE exper_num = 1;
BEGIN
FOR c1_rec IN c1 LOOP
/* calculate and store the results */
result := c1_rec.n2 / (c1_rec.n1 + c1_rec.n3);
INSERT INTO temp VALUES (result, NULL, NULL);
END LOOP;
COMMIT;
END;

참고하셔서...출력되는 부분만...하나 너으면 어떨까 싶네요.....
헐...저는 사용도 안하고 잘 몰러여...ㅠㅠ..

by 하록 [2008.06.12 17:43:09]
오 된장님 감사~ 근데 FOR~IN 구문 써봤는데 역시나 안돼네요...
커서가 아니라는 메시지가 뜨네용...음냥 저거 어케하지;;;
제가 더 찾아볼께여 신경써줘서 땡큐용~~~

by 하록 [2008.06.12 19:22:35]
된장님 찾아냈습니다...근데 그리드로 출력하는건 아직 모르겟네요...
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입