Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/03/2008, 05:16
seyko
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Tablas Grandes : 2 Consultas

Cita:
Iniciado por amilano Ver Mensaje
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