From: | Laura Martinelli <lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Laura Martinelli <lmartinelli(at)unlu(dot)edu(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re[2]: [pgsql-es-ayuda] Re[2]: Ejecutar una función que crea una vista con dblink |
Date: | 2008-07-11 15:37:46 |
Message-ID: | 32717151.20080711123746@mail.unlu.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Con fecha Viernes, 11 de Julio de 2008, 11:54:51 a.m., escribió:
AH> 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');
AH> 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.
AH> PERFORM es una orden PL/pgSQL, no SQL. La diferencia es que el primero
AH> se usa dentro de las funciones en ese lenguaje, mientras que el segundo
AH> se usa externamente (por ejemplo cuando invocas una funcion en psql).
AH> Es importante estar consciente de la diferencia. Por ejemplo no tiene
AH> sentido intentar usar PERFORM para invocar tu nueva funcion.
AH> Te sugiero que hagas el cambio dentro de la funcion, luego invoques la
AH> funcion con SELECT, y muestres el nuevo mensaje de error (necesariamente
AH> debe ser distinto del error original).
Modifiqué la función cambiando el SELECT dblink_connect() por PERFORM
Y me dio el siguiente mensaje similar al anterior pero en la línea 6 y
no en la 2 como antes:
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 6 at SQL statement
(Todo esto lo estoy haciendo desde el psql)
Saludos,
Laura
lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-07-11 15:48:31 | Re: Re[2]: Ejecutar una función que crea una vista con dblink |
Previous Message | Oscar Argueta | 2008-07-11 15:16:13 | pg_dump y pg_restore |