SQL dinamico en PL/SQL

luznedy
24 de Noviembre del 2003
tengo un problema con un sql dinamico, requiero realizarlo para traer cualquier campo de una tabla. pero no sé como traer ese campo. por favor alguien qeu me envíe la sintaxis.
Gracias

cristina
24 de Noviembre del 2003
Pon el campo en una variable y crea la cadena con ella.

Ej.
procedure sql_dinamico(campo varchar2) is
.....
cadenaQuery varchar2(200);
din_campo varchar2(x); -- aqui va a ir el contenido del campo que se quiera buscar. OJO, con los tipos.
..
begin
cadenaQuery:='select '||campo|| 'from tabla where condicion';
cursorDin:=DBMS_SQL.OPEN_CURSOR;
dbms_sql.parse(cursorDin,cadenaQuery,dbms_sql.v7);

dbms_sql.DEFINE_COLUMN(cursorDin,1,din_campo,tamaño); -- ojo, con el tamaño que se ponga aqui, debe ser por lo menos el tamaño del campo en bd
aux:=dbms_sql.execute(cursorDin);