pl/sql cursor急~~ 你能不能把ov_ret_code 作为函数的返回值,而将o_receipt_info_cur OUT g_receipt_info_cur 作为输出参数?这样在exception时就无需返回o_receipt_info_cur了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Lastdrop(空杯) 一定要按照那样的方法做呢?如何处理这样的问题? 如果你确实需要返回cursor,可以在过程的一开始open,然后在真正操作前close,这样即使有exception也没关系了。BEGIN OPEN o_receipt_info_cur FOR select 1 from dual; .... CLOSE o_receipt_info_cur; OPEN o_receipt_info_cur FOR SELECT 'R' TABLE_TYPE, ... 我觉的不行,现在的问题是:返回之是cursor,如果你出错了在exception里面没有return就会出问题,你可以实验实验.一个function没有return就有错误产生,你有msn? 我的意思是你在exception时,还是要return o_receipt_info_cur的,只是在你原来的function中OPEN o_receipt_info_cur FOR在 IF ln_rec_count <> 0 THEN ov_ret_code := 2 ; lv_error_str := 'the cheque exist in pms_dps_refund'; RAISE l_proc_exp; END IF;之后,那么有可能在有exception时,cursor还未open,所以建议你在执行上述判断前,先open cursor, 尽管cursor中并不是你要的内容,这样在exception中return时就不会报cursor未打开的错误了。 oracle 10g oem web访问isql*plus打开连接时候总是报错! 想问个大数据量跨分区查询慢问题 求解利用left jion查询id最大的数据 oracle 菜鸟问题 一困难数据库排序 我的oracle8.1.6为什么装不上,操作系统是windows2000? 视图中删除记录问题 打了震荡波补丁后,oms不能启动了,怎么解决? 问大家几个关于OMF管理Oracle日志文件的问题 怎么同时更新主从表 类似 sql server 语句中的 if exists ...(如果存在就...)用法在oracle中怎么用? 有关SQL*PLUS
一定要按照那样的方法做呢?
如何处理这样的问题?
OPEN o_receipt_info_cur FOR select 1 from dual;
.... CLOSE o_receipt_info_cur; OPEN o_receipt_info_cur FOR
SELECT
'R' TABLE_TYPE,
...
现在的问题是:
返回之是cursor,
如果你出错了在exception里面没有return
就会出问题,
你可以实验实验.
一个function
没有return就有错误产生,你有msn?
ov_ret_code := 2 ;
lv_error_str := 'the cheque exist in pms_dps_refund';
RAISE l_proc_exp;
END IF;
之后,那么有可能在有exception时,cursor还未open,所以建议你在执行上述判断前,先open cursor, 尽管cursor中并不是你要的内容,这样在exception中return时就不会报cursor未打开的错误了。