【发布时间】:2011-07-13 19:24:47
【问题描述】:
在进行游标提取时,有什么方法可以判断是哪条记录导致了错误?例如,假设我有一个表,其中有一列 (varchar2),“值”,具有以下值:
1, 2、 3、 4、 G, 5、 6
我执行以下操作:
DECLARE
answer number;
CURSOR c1 IS
SELECT to_number(value) FROM table;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO answer;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(answer);
END LOOP;
CLOSE c1;
EXCEPTION WHEN invalid_number THEN
dbms_output.put_line('an invalid number exception was encountered');
END;
在遇到“g”之前,它会毫无问题地输出吗?这是我正在尝试调试的实际问题的一个简单示例。在实际示例中,它只输出异常消息,仅此而已。这是否意味着它是导致问题的第一条记录,或者它只是不能以这种方式工作?
【问题讨论】:
标签: sql oracle plsql oracle11g