多谢 按照你的 还是打印两次~~create or replace procedure Test IS --temp VARCHAR2(20); TYPE rc IS REF CURSOR; myrc rc; tempcard INTEGER; BEGIN OPEN myrc FOR SELECT cardid FROM test_tab; LOOP EXIT WHEN myrc%NOTFOUND; FETCH myrc INTO tempcard; dbms_output.put_line(tempcard); END LOOP; CLOSE myrc; end Test; 结果如下 12 13 14 15 15
呵呵,是叫你写成这样 LOOP FETCH myrc INTO tempcard; EXIT WHEN myrc%NOTFOUND; dbms_output.put_line(tempcard); END LOOP;
create or replace procedure Test IS --temp VARCHAR2(20); TYPE rc IS REF CURSOR; myrc rc; tempcard INTEGER; BEGIN OPEN myrc FOR SELECT cardid FROM test_tab; LOOP FETCH myrc INTO tempcard; EXIT WHEN myrc%NOTFOUND; dbms_output.put_line(tempcard); END LOOP; CLOSE myrc; end Test;
--temp VARCHAR2(20);
TYPE rc IS REF CURSOR;
myrc rc;
tempcard INTEGER;
BEGIN
OPEN myrc FOR SELECT cardid FROM test_tab;
LOOP
EXIT WHEN myrc%NOTFOUND;
FETCH myrc INTO tempcard;
dbms_output.put_line(tempcard);
END LOOP;
CLOSE myrc;
end Test;
结果如下
12
13
14
15
15
LOOP
FETCH myrc INTO tempcard;
EXIT WHEN myrc%NOTFOUND;
dbms_output.put_line(tempcard);
END LOOP;
--temp VARCHAR2(20);
TYPE rc IS REF CURSOR;
myrc rc;
tempcard INTEGER;
BEGIN
OPEN myrc FOR SELECT cardid FROM test_tab;
LOOP
FETCH myrc INTO tempcard;
EXIT WHEN myrc%NOTFOUND;
dbms_output.put_line(tempcard);
END LOOP;
CLOSE myrc;
end Test;