de columnas a filas

vero
01 de Abril del 2006
1) Alguien tiene el scrip de como pasar los nombres de las columnas a registros de una tabla??

2) Tienen idea de como puedo hacer para recorrer los campos de un cursor, pero no de la manera: cursor.campo, cursor.campo2, ya que necesito hacerlo de manera dinamica tipo: cursor.campoi, cursor.campoi+1....

Por favor si alguien puede ayudarme....

jeoseaje
01 de Abril del 2006
1) Las columnas de una tabla aparecen definidas en la vista USER_TAB_COLUMNS.
2) Para recorrer un cursor por fila debes capturarlo en una variable del tipo tabla. Por ejemplo así:

TYPE REGISTRO_CURSOR IS (campo1 tipo_dato1, campo2 tipo_dato2,..., campon tipo_daton);

TYPE TABLA_CURSOR IS TABLE OF REGISTRO_CURSOR INDEX BY BINARY_INTEGER;

Después sólo tienes que definir una variable del tipo TABLA_CURSOR y asignarle valores al recorrer el cursor. Una vez asignados todos los valores, ya tienes el cursor guardado en una variable y lo puedes recorrer fila a fila como quieras. Los valores se asignan y recuperan así:

vTABLA_CURSOR(i).campok, donde i es un entero que indica la fila del cursor y campok el k-ésimo campo del cursor.

Espero que te haya servido de algo. Salu2.