Select sin AS

From: "Tincho Carrera" <tinchocarrera(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Select sin AS
Date: 2004-07-02 22:41:46
Message-ID: BAY9-F486Ye2oglDe6l00023de7@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

<html><div style='background-color:'><DIV class=RTE>Hola que tal...mi problema es el siguiente: </DIV>
<DIV></DIV>Creo una Función en la cual realizo un select de varias tablas :
<DIV></DIV>
<DIV></DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;CREATE OR REPLACE FUNCTION miFuncion()
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETURNS SETOF RECORD AS '
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select nombre from tabla, paises, provincias......
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inner join...
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on...........
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where........
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LANGUAGE 'sql' VOLATILE;
<DIV></DIV>
<DIV></DIV><BR>Ejecuto la función
<DIV></DIV>
<DIV></DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;Select * from miFuncion() as (nombre varchar)
<DIV></DIV>
<DIV></DIV><BR>Resultado: | Fila | nombre (varchar) |
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;|&nbsp;&nbsp; 1&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; Martín&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;|
<DIV></DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;|&nbsp;&nbsp; 2&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; Lucas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;|
<DIV></DIV>
<DIV></DIV>&nbsp; <BR>Hasta ahora todo excelente,&nbsp;&nbsp;pero...
<DIV></DIV>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)&nbsp;&nbsp;y en todos los lugares en donde la ejecuto. Es un trabajo bastante laborioso no?
<DIV></DIV>
<DIV></DIV>Necesito hacer directamente un:
<DIV></DIV>
<DIV></DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;Select * from miFuncion()
<DIV></DIV>
<DIV></DIV><BR>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.
<DIV></DIV>Al ejecutar el select sin el as, me da el error: "A column definition list is required for functions returning RECORD".
<DIV></DIV>
<DIV></DIV><BR>Espero que puedan ayudarme.
<DIV></DIV>Mil Gracias.
<DIV></DIV></div><br clear=all><hr>Nuevo MSN Messenger <a href="http://g.msn.com/8HMBESAR/2734??PS=47575">Una forma rápida y divertida de enviar mensajes</a> </html>

Attachment Content-Type Size
unknown_filename text/html 2.7 KB

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martín Carrera 2004-07-02 22:42:13 Select sin AS
Previous Message tgutierrez 2004-07-02 22:34:15 Re: configurar tcp-ip postgres 7.4