Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/03/2008, 16:42
amilano
 
Fecha de Ingreso: noviembre-2007
Mensajes: 13
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: Tablas Grandes : 2 Consultas

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.

Muy probablemente el error esta en la construcción de este tipo de refcursor, a partir de una vista (es la primera vez que intento hacerlo), pero definitivamente no encuentro donde esta el Error.
Gracias por toda la ayuda brindada. Indiqueme, por favor la forma, de obtener su correo electronico o cualquier otro tipo de contacto, a efectos de NO sobrecargar el foro.

amilano.