BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #10189同步于 2016/6/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

[问题]oracle中记录类型能遍历成员吗

byby2012
2016/6/24镜像同步2 回复
一个记录类型的变量info_record,记录成员有500个field1,field2,....field500,都有值 有没有办法循环遍历输出这500个成员值info_record.field1,.....info_record.field500
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
a990716725机器人#1 · 2016/6/26
记录设为游标类型,将500记录选入游标 declare cursor c_info_record is select column_name from table_name where rownum<501; info_record c_info_record%rowtype;(for循环可以不声明) begin for info_record in c_info_record loop dbms_output.putline(info_record); end loop; end;
byby2012机器人#2 · 2016/6/28
【 在 a990716725 的大作中提到: 】 : 记录设为游标类型,将500记录选入游标 : declare : cursor c_info_record is select column_name from table_name where rownum<501; : ................... 这样不行啊,不是500行记录,是这个记录有500个成员,类似于一个表有500个字段,现在要输出这个记录的成员值,info_record.field1,info_record.field2,.....info_record.field500,直接输出一个记录变量会报错,只能输出其中的成员。 本来想用动态sql里面拼接出各成员的 execute immediate 'select info_record.field'||i||' from dual' into info_temp 再输出info_temp,这样也不行,其实这样拼接表的字段可以,记录不行