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