From: | Jose María Mencía <jmencia(at)alimarket(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: actualizar las ganancias |
Date: | 2005-12-19 15:03:13 |
Message-ID: | 1135004593.7452.16.camel@jmencia |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> José Fermín francisco ferreras escribió:
> > Hola amigos, necesito hacer un trigger q cuando el usuario cambie el costo
> > d un articulo, actualice el porciento d ganancia d todos los registros q
> > tienen el mismo codigo d articulo.
>
> Si el "porciento de ganancia" es un campo derivado de otros campos de la
> tabla, no deberia existir.
>
Tiene razón Alvaro pero si aún te empeñas en seguir teniendo esa
columna, quizá esto te pueda ayudar (advierto que no estoy muy puesto en
PL/PGSQL)...
-- Primero el procedimiento almacenado que se va a ejecutar al cambio de
precio:
CREATE FUNCTION cambiaganancia() RETURNS trigger AS '
BEGIN
-- NEW.costo_art es el nuevo precio
-- OLD.costo_art es el precio anterior
BEGIN
BEGIN;
UPDATE facturacion.articulo
SET porciento_pre = /*resultado del calculo que quieras hacer*/
WHERE codigo_art = NEW.codigo_art;
COMMIT;
RETURN NEW;
END;
' LANGUAGE plpgsql;
-- Ahora el trigger sobre la tabla
CREATE TRIGGER trg_cambioprecio AFTER UPDATE ON
facturacion.articulo.costo_art
FOR EACH ROW EXECUTE PROCEDURE cambiaganancia();
Puedes acudir a
http://www.postgresql.org/docs/8.0/interactive/plpgsql-trigger.html
From | Date | Subject | |
---|---|---|---|
Next Message | Zuleima Lara | 2005-12-19 15:45:35 | Ayuda con "DISTINCT ON" |
Previous Message | Alvaro Herrera | 2005-12-19 14:56:14 | Re: actualizar las ganancias |