Hola que tal...mi problema es el siguiente:
Creo una Función en la cual realizo un select de varias tablas :

    CREATE OR REPLACE FUNCTION miFuncion()
      RETURNS SETOF RECORD AS '
         select nombre from tabla, paises, provincias......
              inner join...
              on...........
              where........
         '
      LANGUAGE 'sql' VOLATILE;

Ejecuto la función

    Select * from miFuncion() as (nombre varchar)

Resultado: | Fila | nombre (varchar) |
               |   1  |     Martín            |
               |   2  |     Lucas             |
 
Hasta ahora todo excelente,  pero...
Cada vez que cambio algo en la función miFuncion() ( por ejemplo: agregar una columna nueva en el select: 'select nombre, columna_nueva from tabla, paises....' ) deberé cambiar la forma de ejecutar dicha función: Select * from miFuncion() as (nombre varchar, columna_nueva varchar)  y en todos los lugares en donde la ejecuto. Es un trabajo bastante laborioso no?
Necesito hacer directamente un:

    Select * from miFuncion()

y que me devuelva la totalidad de las columnas que incluyo en el select de la función. Osea, que me devuelva nombre y columna_nueva sin incluir el As.
Al ejecutar el select sin el as, me da el error: "A column definition list is required for functions returning RECORD".

Espero que puedan ayudarme.
Mil Gracias.


Nuevo MSN Messenger Una forma rápida y divertida de enviar mensajes