日期:2014-05-17 浏览次数:20807 次
create or replace procedure test as Cursor cur is select pk_corp from bd_corp; name1 varchar(20); begin for r in cur LOOP begin dbms_output.put_line(r.字段1 || ', ' || r.字段2); end; end LOOP; end test;
------解决方案--------------------
name1.pk_corp
------解决方案--------------------
name1.pk_corp
------解决方案--------------------
你的游标 没有开发 取值的过程 输出name1 有什么用?
open cur; fetch cur into name1 while cur%found loop dbms_output.put_line(name1); fetch cur into name1; end loop; close cur;
------解决方案--------------------
1,for循环时 游标是自己打开的
2,for循环时 系统会隐式定义循环变量 即只需使用 不需定义
create or replace procedure test as
Cursor cursor is select pk_corp from bd_corp; --name1 varchar(20);
begin
for name1 in cursor LOOP
--begin
dbms_output.put_line(name1);
--end;
end LOOP;
end test;
------解决方案--------------------
lz 注意 当用游标for循环式 系统自动读取的是当前行的数据,所以 for name1 in cursor loop 中的name1 的类型是记录类型了
而dbms_output.put_line()不能打印记录类型的