SQL dinamico en PL/SQL
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
Gracias
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);
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);
