From: | "Gustavo Garay \(Lista\)" <chauria(at)gmail(dot)com> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Re[2]: problema con delete from |
Date: | 2007-03-05 19:08:49 |
Message-ID: | 001201c75f59$b82ec770$6400a8c0@shi.com.py |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
CREATE TRIGGER presupuesto_detalle_calculos
-- aqui lo tenia como BEFORE INSERT OR UPDATE OR DELETE
-- por más que en la funcion solo hacia calculo si era un INSERT
BEFORE INSERT
ON pres_detalle
FOR EACH ROW
EXECUTE PROCEDURE presupuesto_detalle_calculos();
CREATE OR REPLACE FUNCTION presupuesto_detalle_calculos()
RETURNS "trigger" AS
$BODY$
BEGIN
-- nuevo artículo, hace cálculos y actualiza presupuesto
IF TG_OP = 'INSERT' THEN
NEW.pr_subtotal = NEW.pr_cantidad * NEW.pr_pventa;
NEW.pr_impuesto = (NEW.pr_subtotal * NEW.pr_porc_impuesto) / 100;
NEW.pr_pfinal = (NEW.pr_subtotal - NEW.pr_descuento) +
NEW.pr_impuesto;
END IF;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
para evitar el problema, debería de incluir el RETURN NEW dentro
del IF?
Mirando la funcion mas bien seria bueno llamarlos solo cuando se inserta no
cuando se modifica y se borra tambien
Lo correcto seria hacer que la funcion haga lo mismo cuando se modifica y
llamar el trigger en es dos casos
Gustavo Garay
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Carlos Badillo Goy | 2007-03-05 19:46:40 | Ayuda con scripts |
Previous Message | Ever Daniel Barreto Rojas | 2007-03-05 18:36:48 | Re[2]: problema con delete from |