creo que estas actualizando la tabla que tiene el triggers dentro de la
funcion , mira esta URL
http://www.depesz.com/2012/02/01/waiting-for-9-2-trigger-depth/
explican sobre el tema
saludos
El 10-03-2015 a las 16:16, Esneiker Enriquez Cabrera escribió:
Hola amigos.
Estoy tratando de hacer un trigger que en la inserción o la
actualización de una tabla me ejecute una función pero al hacer insert
o update me da el error:
límite de profundidad de stack alcanzado
ahora no me doy cuenta de qué es lo que estoy haciendo mal, espero que
alguien me pueda decir.
El código es el siguiente:
CREATE OR REPLACE FUNCTION actualizar_estado()
RETURNS trigger AS
$BODY$
declare cadena character varying(500);
BEGIN
cadena = '';
select * into cadena from concatenar_nombre_estado(NEW.id);
update nmestado set concatenado = cadena where id=NEW.id;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION actualizar_estado() OWNER TO postgres;
CREATE TRIGGER ti_nmestado
AFTER INSERT or UPDATE
ON nmestado
FOR EACH ROW
EXECUTE PROCEDURE actualizar_estado();
Saludos,
*/Ing. Esneiker Enriquez Cabrera/**
**Esp. B en Ciencias Informáticas*
Desoft en Ciego de Ávila. Joaquín de Agueroesq. Calle 2. Ciego de
Ávila. Cuba.
*Telf.:* 53 33 22 8971, *email.:* eenriq...@cav.desoft.cu
<mailto:eenriq...@cav.desoft.cu>
__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 11288 (20150308) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com