Probé este ejemplo en Oracle 11.2.0.2.7. Se puede poner un comando PL/SQL en una variable y luego ejecutarlo con EXECUTE IMMEDIATE. Si quieres tener el resultado en otra variable, se puede hacerlo con la palabra INTO de esta manera:
SQL> set serveroutput on
SQL> declare
2 row_count number;
3 sql_statement varchar2(200);
4 begin
5 sql_statement := 'select count(*) from dba_tables';
6 dbms_output.put_line(sql_statement);
7 execute immediate sql_statement into row_count;
8 dbms_output.put_line(row_count);
9 end;
10 /
select count(*) from dba_tables
2760
Procedimiento PL/SQL terminado correctamente.
SQL>
Hola buen día, disculpa la molestia, tengo dos preguntas, ¿Cómo obtengo el resultset para usarlo en java a partir de tu ejemplo y una consulta del tipo "select * from tabla"? y la otra, ¿Cómo podría recorrer el cursos de la consulta anterior para mostraro en la consola de oracle (sql developer)? Gracias de antemano y disculpa la molestia.
ResponderEliminarCarlos Rodríguez