Anthony Rafael Sotolongo León 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.
La función feria_update() es la que se mostró en el primer mensaje. No son los mismos tipos de los argumentos, así que en rigor son funciones distintas, pero a mí esa parte me parece un error de uso. ¿Qué es lo que se quiere lograr con ese PERFORM? En todo caso, el mensaje de error es muy claro: la función que falla es feria_insert_otra(), no feria_update(). Yo sospecho que Rusel definió un trigger en INSERT en la tabla mercado.marca que invoca a alguna función, la cual a su vez trata de invocar directamente a feria_insert_otra, y eso provoca la falla. Quizás al final de feria_insert_otra también puso un PERFORM que trata de llamarse a si misma, provocando el error. > El 1/8/2014 3:30 PM, Rusel Fichi escribió: > > >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. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - 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