Re: Problema con Funcion y Trigger

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 ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  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