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.