Re: actualizar las ganancias

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

In response to

Browse pgsql-es-ayuda by date

  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