Saludos
Tengo la siguiente function:
Código:
CREATE FUNCTION registrar_pasaje_viatico() RETURNS "trigger"
AS $$BEGIN
IF (NEW.pasaje_aereo = 'true') THEN
UPDATE solicitudpasaje SET codigo_solicitud_viatico = NEW.codigo_solicitud WHERE codigo_solicitud = NEW."codigo_solicitud";
RETURN new;
-- ELSIF (NEW.pasaje_aereo = 'false') THEN
-- UPDATE solicitudpasaje SET codigo_solicitud_viatico = NULL WHERE codigo_solicitud = NEW."codigo_solicitud";
-- RETURN new;
ELSIF (OLD.pasaje_aereo = 'true') THEN
UPDATE solicitudpasaje SET codigo_solicitud_viatico = OLD.codigo_solicitud WHERE codigo_solicitud = OLD."codigo_solicitud";
RETURN old;
ELSIF (OLD.pasaje_aereo = 'false') THEN
UPDATE solicitudpasaje SET codigo_solicitud_viatico = NULL WHERE codigo_solicitud = OLD."codigo_solicitud";
RETURN old;
END IF;
END;
$$
LANGUAGE plpgsql;
Que se ejecuta con un triggert.
El asunto es, que cuando se inserta un registro nuevo, sí el campo
pasaje_aereo se actualiza en la tabla solicitudpasaje tal como está en la función. Pero... sí se actualiza el campo pasaje_aereo no he logrado que se ejecute la respectiva parte de la función
Ideas?