Cita:
Iniciado por amilano
Buenas tardes Seyko :
La version que utilizo es la 8.2.
Una ultima consulta, para cerrar este caso:
He logrado construir una unica vista que contiene todos los datos, que segun mi mensaje anterior se construía con 2 vistas. La función que genera esa vista, devuelve además la cantidad de registros que contiene. A partir de esta nueva vista he construido una función cuyo tipo de dato es un refcursor y con lo cual eliminaría el paso de obtener primero un setof y convertirlo, posteriormente a refcursor. Esta solución parece mucho mejor que las anteriores, pero tengo los siguientes problemas, a partir del codigo siguiente (una parte) :
nroreg := (SELECT vistaversion_II(arreparam));--crea la vista y devuelve el Nro registos
vista := 'vista_version_II';--nombre de la vista creada
OPEN cursorSalida FOR EXECUTE 'SELECT
columna2,
((columna3)||'-'||(columna4)),
((columna5)||','||(columna6)||','||(columna7)||',' ||(columna8)),
to_char((columna9)*(columna10),'999G999G999G999G99 9G999G999G 999')
FROM
' || vista || ''
WHERE
fecha=dat--dat es uno de los parametros de entradas de esta funcion y fecha es una de las columnas de la vista
ORDER BY [columna10] DESC;
return cursorSalida ;
los problemas son los siguientes :
1.- Presenta el siguiente mensaje de error "ERROR: operator is not unique: "unknown" - "unknown"
Estado SQL:42725. El mensaje solo desaparece si se elimina el dato de salida ((columna3)||'-'||(columna4)), pero sin modificar ninguna columna de la vista
2. Cuando se elimina el dato de salida del punto anterior, entonces presenta mensaje"ERROR: column "fecha" does not exist, siendo que la vista efectivamente se crea con esta columna.
Creo que el problema esta en las comillas '
prueba OPEN cursorSalida FOR SELECT ....
Opino que para estos temas es mejor que quede reflejado en el foro, para futuros visitantes.
Si necesitas algo concreto escribeme un privado y te doy mi email.
Salu2