Q&A

  • Error creating cursor handle???
Error creating cursor handle???



스토어드 프로시져를 사용할 려구 하면 이런 애러가 뜨네요..



해당 소스는 아래와 같습니다...



어디가 잘못되었는지 모르겠네요.....



=====================================================



CREATE OR REPLACE PROCEDURE smf_cp_smf_sum_proc(

v_sss IN CHAR,

v_count OUT NUMBER

)



IS



v_id NUMBER (10);

v_name VARCHAR (100);



BEGIN



v_count := 0;



DECLARE CURSOR select_cur IS

SELECT

id,

name

FROM test_table

WHERE to_char(cur_dt, 'yyyymm') = v_sss;



BEGIN

OPEN select_cr;



LOOP

FETCH select_cr

INTO

v_id,

v_name;



EXIT WHEN select_cur%NOTFOUND;



INSERT INTO table2

( id,

name

)

VALUES

(

v_id,

v_name

);



v_count := v_count + 1;



COMMIT;



END LOOP;



CLOSE select_cur;



END;



END;

/



======================================================

고수님들의 답변을 부탁드립니다.....



추가로 여러가지 경우의 cursor정의 방법도 알고 싶습니다..



그럼 수고들 하세요

1  COMMENTS
  • Profile
    jueui 2000.11.04 01:06
    양수정 wrote:

    > Error creating cursor handle???

    >

    > 스토어드 프로시져를 사용할 려구 하면 이런 애러가 뜨네요..

    >

    > 해당 소스는 아래와 같습니다...

    >

    > 어디가 잘못되었는지 모르겠네요.....

    >

    > =====================================================

    >

    > CREATE OR REPLACE PROCEDURE smf_cp_smf_sum_proc(

    > v_sss IN CHAR,

    > v_count OUT NUMBER

    > )

    >

    > IS

    >

    > v_id NUMBER (10);

    > v_name VARCHAR (100);

    >

    > BEGIN

    >

    > v_count := 0;

    >

    > DECLARE CURSOR select_cur IS

    > SELECT

    > id,

    > name

    > FROM test_table

    > WHERE to_char(cur_dt, 'yyyymm') = v_sss;

    >

    > BEGIN

    > OPEN select_cr;

    >

    > LOOP

    > FETCH select_cr

    > INTO

    > v_id,

    > v_name;

    >

    > EXIT WHEN select_cur%NOTFOUND;

    >

    > INSERT INTO table2

    > ( id,

    > name

    > )

    > VALUES

    > (

    > v_id,

    > v_name

    > );

    >

    > v_count := v_count + 1;

    >

    > COMMIT;

    >

    > END LOOP;

    >

    > CLOSE select_cur;

    >

    > END;

    >

    > END;

    > /

    >

    > ======================================================

    > 고수님들의 답변을 부탁드립니다.....

    >

    > 추가로 여러가지 경우의 cursor정의 방법도 알고 싶습니다..

    >

    > 그럼 수고들 하세요



    StoredProcedure 를 돌릴때



    StoredProc1.Active := True 한거 같은데요



    StoredProcedure 는 결과값을 반환하지 않는경우는



    ExecProc 를 실행해야합니다 .