请教:根据条件动态执行有游标的存储过程,但是执行过程种吊死! 
调用存储过程
CREATE OR REPLACE PROCEDURE cp_test_procedure(o_vErrMsg OUT VARCHAR2) IS
t_vSQL VARCHAR2(1000); 
t_cursor pg_HMBSTCur.CurTyp;
t_vlocalsite VARCHAR2(60);
BEGIN
t_vSQL := 'begin
cp_test_cursor(: o_cursor);
end; ';EXECUTE IMMEDIATE t_vSQL
USING OUT t_cursor;
LOOP
FETCH t_cursor
INTO t_vlocalsite;
EXIT WHEN t_cursor%NOTFOUND;
dbms_output.put_line(t_vlocalsite);
END LOOP;
CLOSE t_cursor;EXCEPTION
WHEN OTHERS THEN
o_vErrMsg := SQLERRM;
NULL;
END ;
获取游标存储过程
CREATE OR REPLACE PROCEDURE cp_test_cursor(o_cursor OUT pg_HMBSTCur.CurTyp) IS
BEGINOPEN o_cursor FOR
SELECT postfix FROM t_sys_addrpostfix;
NULL;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
END;
游标包
create or replace package pg_HMBSTCUR
as
TYPE CurTyp is ref cursor;
inval_cur_num EXCEPTION;
pragma exception_init(inval_cur_num,-1023);
end pg_HMBSTCUR;
表:
create table T_SYS_ADDRPOSTFIX
(
POSTFIX VARCHAR2(255) not null,
PRIORITY NUMBER(2),
UNDERCORP VARCHAR2(12) not null
);在执行 cp_test_procedure 的时候,就会死掉,也没有死锁,奇怪!请大家探讨一下:是不是不能执行带有游标的存储过程??