Re: Re[2]: Ejecutar una función que crea una vista con dblink

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Laura Martinelli <lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar>
Cc: Laura Martinelli <lmartinelli(at)unlu(dot)edu(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Re[2]: Ejecutar una función que crea una vista con dblink
Date: 2008-07-11 14:54:51
Message-ID: 20080711145451.GC4110@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Laura Martinelli escribió:
>
>
> Con fecha Viernes, 11 de Julio de 2008, 11:34:12 a.m., escribió:
>
> AH> Laura Martinelli escribió:
>
> >> pero cuando la quiero ejecutar
> >>
> >> SELECT dblink_db1_db2();
> >>
> >> me da el siguiente error:
> >>
> >> Eror: select query has no destination for result data
> >> Hint: if you want to discard the results, use PERFORM instead.
> >> Context:Pl/pgSQl function "dblink_db1_db2" line 2 at SQL statement
> >>
> >> si pruebo con PERFORM dblink_db1_db2();
>
> AH> Tienes que cambiar a PERFORM el dblink_connect().
>
> Alvaro vos decís que dentro de la función escriba:
>
> PERFORM dblink_connect('dbname=academicos user=postgres password=turnos');

Si.

> lo hice y despues llamo a la función con select y con perform y me
> sigue dando los mismos errores que antes para ambos casos.

PERFORM es una orden PL/pgSQL, no SQL. La diferencia es que el primero
se usa dentro de las funciones en ese lenguaje, mientras que el segundo
se usa externamente (por ejemplo cuando invocas una funcion en psql).
Es importante estar consciente de la diferencia. Por ejemplo no tiene
sentido intentar usar PERFORM para invocar tu nueva funcion.

Te sugiero que hagas el cambio dentro de la funcion, luego invoques la
funcion con SELECT, y muestres el nuevo mensaje de error (necesariamente
debe ser distinto del error original).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oscar Argueta 2008-07-11 15:16:13 pg_dump y pg_restore
Previous Message Laura Martinelli 2008-07-11 14:42:22 Re[2]: Ejecutar una función que crea una vista con dblink