Looping through column values in a record without specifying column names?
From: <dananrg_at_yahoo.com>
Date: Tue, 4 Mar 2008 07:38:35 -0800 (PST)
Message-ID: <74dde9e6-c137-4b58-aa91-aa9ff2ba1dee@h25g2000hsf.googlegroups.com>
PL/SQL: Statement ignored
Date: Tue, 4 Mar 2008 07:38:35 -0800 (PST)
Message-ID: <74dde9e6-c137-4b58-aa91-aa9ff2ba1dee@h25g2000hsf.googlegroups.com>
In PL/SQL, is there a way to loop through column values in a record
without specifying column names in advance? e.g. like using an index
number in an array?
The code below will output a value for the column specified; but I've not found a way to create an inner loop and iterate through the record itself.
DECLARE
cursor cur is
select * from my_table;
BEGIN
for rec in cur
loop
dbms_output.put_line(rec.my_column); end loop;
END; Tried inserting an inner loop something like the following, and it failed:
for x in rec loop dbms_output.put_line(x) end loop;
... and it failed:
ERROR at line 7:
ORA-06550: line 7, column 12: PLS-00456: item 'REC' is not a cursor ORA-06550: line 7, column 3:
PL/SQL: Statement ignored
So I can't use a RECORD in a FOR IN loop. How can I accomplish what I want to do some other way?
Thanks.
Dana Received on Tue Mar 04 2008 - 09:38:35 CST