我需要使用批量收集打印所有列数据我需要如何实现它
我的员工表:id,姓名,工资
此 id、name、salary 需要打印为输出
下面是我的PLSQL代码
declare
type v_nest is table of emp%rowtype;
v_rd v_nest := v_nest();
begin
select * bulk collect into v_rd from emp;
for i in v_rd.first..v_rd.last
loop
dbms_output.put_line(v_rd(i)); // Why this does not work
end loop;
end;
dbms_output
需要一个标量 - 您不能向它传递具有多列的记录。因此,只需按照您希望的方式将其分解,但将列名称添加到您的集合引用中:
declare
type v_nest is table of emp%rowtype;
v_rd v_nest := v_nest();
begin
select * bulk collect into v_rd from emp;
for i in v_rd.first..v_rd.last
loop
dbms_output.put_line(v_rd(i).id||','||v_id(i).name||','||v_rd(i).salary);
end loop;
end;