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
[EMAIL PROTECTED]


--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a