【发布时间】:2018-10-06 01:32:06
【问题描述】:
我想为 ID 介于 10 和 40 之间的每条记录输出 STATEMENT_NUMBER
我尝试编写以下内容:-
DECLARE
tempid NUMBER := 10;
tempresult VARCHAR2(20);
BEGIN
LOOP
SELECT
statement_number
INTO
tempresult
FROM
tblstatementsnew
WHERE
id = tempid;
dbms_output.put_line(tempresult);
tempid := tempid + 1;
EXIT WHEN tempid = 40;
END LOOP;
END;
..但我得到了错误:-
*原因:未从对象中找到数据。 *操作:对象中没有数据,可能是由于提取结束。
我很欣赏获得这些结果的更简单的方法,但我正在尝试更多地了解循环的工作原理。
【问题讨论】:
-
您应该正确处理 No data found 错误。看到这个答案 - stackoverflow.com/a/1271985/1352127