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