Re: Problemas al usar perform en funcion

From: Rusel Fichi <rdfs(dot)ing(at)gmail(dot)com>
To: Anthony Rafael Sotolongo León <asotolongo(at)uci(dot)cu>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problemas al usar perform en funcion
Date: 2014-01-09 01:44:10
Message-ID: CAMiTfw+bjbAt1HpZp=V9g_FZ1B3RaZ3P5zGvcxAaO05CqOemBg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

No es de tipo trigger, es realmente una funcion sencilla que ejecuta un
simple update, no tiene parametros de entrada ni tampoco es de tipo
record... a mi tambien me parecio raro que el error me indicara eso ya que
no es una funcion que sea llamada desde un trigger...

Pero de todas formas si alguien tiene aunque sea algun ejemplo sencillo de
una funcion que sea llamada dentro de otra se los agradeceria, asi puedo
intentar adaptarlo a mi funcion ...

Gracias por el apoyo!

El 8 de enero de 2014, 19:52, Anthony Rafael Sotolongo León <
asotolongo(at)uci(dot)cu> escribió:

> por casualidad la funcion feria_update(); es de tipo trigger?
> si lo es, ahí debe estar el error, según la información que lanza tu
> mensaje de error
> si es ese el caso debes re-ordenar tu lógica.
> saludos
>
> El 1/8/2014 3:30 PM, Rusel Fichi escribió:
>
> Buenos tardes Estimados,
>
> Tengo un problema al ejecutar "perform" para llamar una funcion dentro
> de otra, stee indica este error:
>
> las funciones de disparador sólo pueden ser invocadas como disparadores
> CONTEXTO: compilación de la función PL/pgSQL «feria_insert_otra» cerca de
> la línea 1;
>
> y esta es la funcion:
>
> create or replace function feria_insert (dbname character varying,
> dbhost character varying, dbuser character varying, dbuserpass character
> varying) returns SETOF record AS $$
> begin
>
> --INSERTS DE MARCAS NUEVAS
>
> insert into mercado.marca (id,des_marca,id_usuario,estado_ma) select
> id,des_marca,id_usuario,estado_ma from
> (SELECT f.*
> FROM dblink('dbname=' || $1 || ' port=5432 host=' || $2 || ' user=' || $3
> ||' password=' || $4 ,'SELECT id,des_marca,id_usuario,estado_ma FROM
> mercado.marca')
> AS f(id integer,
> des_marca text,
> id_usuario integer,
> estado_ma integer) where id not in (select id from mercado.marca)) as a;
>
> perform feria_update();
> end;
> $$ language plpgsql;
>
> Si saben de algo que este haciendo mal o algo que me falta por colocar
> se los agradeceria.
>
> Saludos!
>
>
>
> ------------------------------
>
> III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero
> del 2014. Ver www.uci.cu
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2014-01-09 13:07:40 Re: Problemas al usar perform en funcion
Previous Message Anthony Rafael Sotolongo León 2014-01-09 00:22:28 Re: Problemas al usar perform en funcion