SQL - dmbs_sql.execute

   
Vista:

dmbs_sql.execute

Publicado por David (1 intervención) el 07/07/2008 11:48:16
Hola, quiero ir recorriendo una tabla llamada 'entorno' registro a registro para ir generandola en HTML. Se que hay formas automaticas de hacerla pero tengo que hacerla asi. Tengo hecho:

CREATE OR REPLACE PROCEDURE saca_entorno(N NUMBER)
IS
CURSOR c IS SELECT * FROM entorno;
fila c%ROWTYPE;
num_colum number;
nombre_col varchar2(100);
cursor_name INTEGER;
rows_processed INTEGER;
BEGIN
SELECT COUNT(COLUMN_NAME) INTO num_colum FROM all_tab_columns WHERE TABLE_NAME = 'ENTORNO';
DBMS_OUTPUT.PUT_LINE('<table>');
FOR fila IN c LOOP
EXIT WHEN C%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('<tr>');
for CONT in 1..num_colum loop
DBMS_OUTPUT.PUT_LINE('<td>');
select COLUMN_NAME into nombre_col from all_tab_columns where TABLE_NAME='ENTORNO' and column_id=CONT;
cursor_name := dbms_sql.open_cursor;
DBMS_SQL.PARSE(cursor_name, 'SELECT fila.:x FROM dual', dbms_sql.native);
DBMS_SQL.BIND_VARIABLE(cursor_name, ':x', nombre_col);
rows_processed := dbms_sql.execute(cursor_name);
DBMS_SQL.close_cursor(cursor_name);
DBMS_OUTPUT.PUT_LINE('</td>');
end loop;
DBMS_OUTPUT.PUT_LINE('</tr>');
END LOOP;
DBMS_OUTPUT.PUT_LINE('</table>');
END saca_entorno;
/

El problema es que me da error "especificación no válida de usuario.tabla.columna, tabla.columna o columna" y no se que hacer. Ademas no se si esta bien puesto el tema de execute. AYUDA POR FAVOR!!! GRACIAS!
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