From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org, "P(at)blo Villad(at)" <andresv50(at)hotmail(dot)com> |
Subject: | Re: Problema con Funcion y Trigger |
Date: | 2005-07-27 20:58:13 |
Message-ID: | c2d9e70e050727135815d99c38@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 7/27/05, Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar> wrote:
> El Mié 27 Jul 2005 17:33, P(at)blo Villad@ escribió:
> >
> > tengo una tabla llamada cafe que posee un campo
> > el cual debe disminuirse en uno cada vez que se ejecute
> > una operacion de insertar sobre la tabla.
> >
> > El problema es que para poder realizar esta operacion
> > necesito un parametro de la insercion.
> >
> >
> > eh intentado hacerlo con un trigger pero la verdad no
> > se si sea la manera mas adecuada.
> >
> > CREATE OR REPLACE FUNCTION descuentox(varchar) RETURNS TRIGGER AS
> > $descuento_cafex1$
> >
> > BEGIN
> >
> > IF (TG_OP = 'INSERT') THEN
> >
> > UPDATE cafe SET descuento=descuento-1 where nombre_cafe=$1;
> > RETURN NEW;
> > END IF;
> > RETURN NULL;
> >
> > END;
> >
> > $descuento_cafex1$ LANGUAGE plpgsql;
> >
> > CREATE TRIGGER cafe_descuento
> > AFTER INSERT ON cafe
> > FOR EACH ROW EXECUTE PROCEDURE descuentox(varchar);
>
> A ver si aun tengo esto fresco. ;-)
>
> CREATE OR REPLACE FUNCTION descuentox RETURNS TRIGGER AS
> $descuento_cafex1$
>
> BEGIN
> IF (TG_OP = 'INSERT') THEN
> UPDATE cafe SET descuento=descuento-1 where
> nombre_cafe=NEW.nombre_cafe;
> RETURN NEW;
> END IF;
> RETURN NULL;
> END;
>
porque return null? no deberia ser return old?
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Martín Marqués | 2005-07-27 21:13:43 | Re: Problema con Funcion y Trigger |
Previous Message | Martín Marqués | 2005-07-27 20:47:06 | Re: Problema con Funcion y Trigger |