2012/11/15 Juan <[email protected]>: > > sql = 'perform update_or_insert_nacionalidades( ' ; > sql = sql || quote_literal( v_cod2 ) || ' ::text ,' ; > sql = sql || quote_literal(v_nombre ) || ' ::text );' ; >
La verdad es que me estoy matando de la risa... es como ver a un cachorrito perseguirse la cola! ;) Te dije ya que perform solo funciona dentro de codigo plpgsql, y dblink esta estableciendo una conexion independiente a la base por lo que el perform no se esta ejecutando en el contexto de una funcion plpgsql. en el otro ejemplo agregaste un "into p" pero como la funcion esta definida como que devuelve void no puedes crear una tabla basandote en su resultado (lo de crear una tabla es porque fuera del contexto de una funcion plpgsql SELECT ... INTO crea una tabla temporal, http://www.postgresql.org/docs/9.2/static/sql-selectinto.html) prueba asi: select dblink_exec( ' select update_or_insert_nacionalidades( ''22'' ::text ,''Colombiana'' ::text );') ; -- Jaime Casanova www.2ndQuadrant.com Professional PostgreSQL: Soporte 24x7 y capacitación Phone: +593 4 5107566 Cell: +593 987171157 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
