Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2009, 09:49
cacr
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
problemas para actualizar tabla desde una Function

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?
__________________
Gracias de todas todas
-----
Linux!