Alberto:

2017-03-18 5:02 GMT+01:00 Alberto Cardenas Cardenas
<alberto.cardenas.c...@gmail.com>:

De dblink no entiendo mucho, pero dado que estas llamando a una function...

>   SELECT  * FROM dblink_exec('base_remota', 'insert into
> public.temporary_test_table (columna) ' || SELECT nombre from curso.tabla1
> limit 1; ||  ' )

Mr da que el problema es que te has liado con la concatenacion de
cadenas. Es decir el segundo argumento esta mal tecleado, el ; esta
donde no debe, la ultima ' esta desapareada.

Te sugeririria que empiezes con un select trim(....) poniendo el
codigo de montar la consulta remota ahi ( trim o cualquier otra
funcion inofensiva ) hasta que eso te funcione, y entonces pasar al
dblink cuando ya sepas que la consulta esta bien montada.

De hecho te va a costar, porque necesitas que se manden comillas en el
valor ( si nombre es como parece un texto ) que pasas a dblink, con lo
que necesitaras doblarlas al montarlo, de ahi que mejor lo hagas en
dos fases. Yo en estos casos recomiendo una pequeña funcion en pgsql o
similar para poder ir por pasos ( paso uno, sacar nombre, paso 2,
DOBLAR las comiilas en el valor de nombre, paso 3 concatenar el valor
de nombre con el resto del query. La ventaja es que probablemente
encuentres funciones que te ayuden con cosas como las comillas si lees
un poco la documentacion.

Francisco Olarte.

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a