Oracle - Cursor dinamico

 
Vista:

Cursor dinamico

Publicado por Mike (3 intervenciones) el 10/08/2012 00:29:34
Buenas

tengo el siguiente cursor dinamico en un procedimiento de un paquete que estoy llamando desde una forma de Oracle Forms 6i:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure
    sql_cursor number;
    rows number;
    aux number;
begin
    <<armo la consulta y otras cosas que no intervienen en el error.
    sql_cursor := dbms_sql.open_cursor;
    dbms_sql.parse(sql_cursor, consulta, dbms_sql.v7);
 
     --aqui defino la variable aux como todas las columnas porque tanto el nombre de la tabla como el numero de columnas es variable
 
     for i in 1..numcamp loop
       --aux:=':campo'||i;
       dbms_sql.DEFINE_COLUMN(sql_cursor, i,aux);
     end loop;
     rows := dbms_sql.execute(sql_cursor);
 
 
     loop
          if DBMS_SQL.FETCH_ROWS (sql_cursor) > 0 then
              dbms_sql.column_value(sql_cursor, 1,aux);
              <<mas codigo>>
         else
              exit;
       end if;
     end loop;
 
end procedure

al llegar a la linea if DBMS_SQL.FETCH_ROWS (sql_cursor) > 0 then me esta arrojando el siguiente error

ORA-01722: número no valido


Espero puedan ayudarme

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cursor dinamico

Publicado por Mike (3 intervenciones) el 20/08/2012 01:37:18
Bueno al final decid hacerlo de otra forma, pero tiempo después me fije que estaba definiendo mal las columnas, se debe tener en cuenta el tipo de dato de las columnas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar