Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2010, 08:26
Avatar de Kluster
Kluster
 
Fecha de Ingreso: agosto-2005
Ubicación: Cuba
Mensajes: 86
Antigüedad: 19 años, 3 meses
Puntos: 1
Como utilizar un rowtype dinámico

Hola, comunidad.

Estoy desarrollando sobre Oracle y necesito realizar varias consultas a varias tablas, por lo cual sería conveniente hacerlo de forma dinámica. El problema -archiconocido por demás, a pesar de lo cual no he podido encontrar una solución-, es que no sé cómo declarar ese %rowtype dinámico, dependiendo de un parámetro que recibe la función, y menos aún devolverlo para mostrar el resultado de la consulta en la aplicación.

Algo más o menos así:

function obtener(tabla varchar2, columna varchar2) return rowtype
is
curGen is ref cursor;
curObj curGen;
registro tabla%rowtype;
-- o tal vez algo como esto: registro curObj%rowtype;
sentencia varchar2(100);
begin
sentencia := 'select ' || columna || ' from ' || tabla;
open curObj for sentencia;
fetch curObj into registro;
close curObj;
return registro;
end obtener;

Gracias de antemano.