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>


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

Original text of this message