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!