傻X错误

来源:互联网 发布:asp获取动态网页源码 编辑:程序博客网 时间:2024/04/28 00:29
今天写了一段PL/SQL,郁闷死了,无论如何都报-1001:ORA-01001: カーソルが無効です。调查了半天,也没有发现问题,以为是结构问题,重新修改了结构,发现还是报同样的错误。
去网上搜了一下,发现是CURSOR没有打开,老子才不信呢,我是用OPEN CURSOR FOR SELECT ...的啊。后来发现程序中的一句代码,我差点气死:
            IF i_Mode = STATUS_ONLINE THEN
                
--取得した件数分、以下の処理をループする。
                FETCH innerCursor1 INTO r_Table1;
                
EXIT WHEN innerCursor1%NOTFOUND;
            ELSIF i_Mode 
= STATUS_MONTH THEN
                
FETCH innerCursor2 INTO r_Table1;
                
EXIT WHEN innerCursor1%NOTFOUND;
            
END IF;
 问题就出在EXIT WHEN innerCursor1%NOTFOUND;进了elsif后, innerCursor1是没有打开了,写错了啊,我本来打算写EXIT WHEN innerCursor2%NOTFOUND;

总的来说,调用
%NOTFOUND、%FOUND这些东西的时候,一定要保证CURSOR是开着的,不然就会报ORA-01001: カーソルが無効です的错误。好了,夜深了,我也该歇歇了。
原创粉丝点击