Re: funcionamiento diferente en triggers

From: Felipe de Jesús Molina Bravo <felipe(dot)molina(at)inegi(dot)gob(dot)mx>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: funcionamiento diferente en triggers
Date: 2007-01-30 19:04:30
Message-ID: 1170183870.7938.29.camel@fjmb
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Lo probe tal y como comentas (return new) y yo obtengo el mismo
resultado (no actualiza us = '2').

En realidad ese "return null" se coloca para evitar algun error al
anclar el trigger, ya que solamente debe ser al INSETAR o al BORRAR ...
si hubiese un UPDATE tendría que abortarse la operación

Voy a seguir investigando y si lo resuelvo lo estaré posteando

Saludos y gracias por todo

El mar, 30-01-2007 a las 13:37 -0300, Alvaro Herrera escribió:
> Felipe de Jesús Molina Bravo escribió:
>
> > create or replace function f_lugar() returns trigger as '
> > begin
> > if TG_OP = ''INSERT'' THEN
> > update producto set contador = contador + 1 where
> > idp = new.idp;
> > return new;
> > ELSIF TG_OP = ''DELETE'' THEN
> > update producto set contador = contador - 1 where
> > idp = old.idp;
> > return old;
> > end if;
> ** > return null;
> > end;
> > ' language 'plpgsql';
>
> La linea con los asteriscos debe ser "return new". Si haces RETURN
> NULL, el trigger tiene el efecto que mencionas: anula el efecto del
> UPDATE. No entiendo por que "funcionaba" en 7.3.
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Zambrano Cruz 2007-01-30 20:28:05 Problema con autentificacion
Previous Message Patricio Cifuentes Ithal 2007-01-30 17:10:00 RE: postgres+postgis