From: | Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Pablo Braulio <brulics(at)gmail(dot)com>, postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Trigger que no funciona. |
Date: | 2008-03-14 14:11:46 |
Message-ID: | 47DA87A2.5050902@ort.edu.uy |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro Herrera wrote:
> Pablo Braulio escribió:
>
>
>> Me sorprende el siguiente trigger que no me funciona. No entiendo el porqué.
>>
>
> Porque es recursivo (i.e. el update que hace a la tabla invoca al mismo
> trigger otra vez)
>
>
>> create or replace function responsableVb() returns trigger as $$
>> begin
>> update users set respons_vb='f' where id != NEW.id;
>> return new;
>> end;
>> $$ language plpgsql;
>>
>
> Parece una idea bastante absurda, esta. ¿Por qué quieres hacer esto?
> Sospecho que el problema es el modelo. ¿Por qué no tienes el
> responsableVb como una columna, en otra tabla, que lleva el users.id del
> usuario que corresponda? Tener que actualizar _todos_ los registros
> solo para cambiar quien es el responsable es mala señal ...
>
>
lo que tenes que agregar el AFTER UPDATE OF <lista de campos>, en la
lista de campos no pongas el
respons_vbm para que no sea recursivo.
saludos Fernando
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-03-14 14:22:53 | Re: Trigger que no funciona. |
Previous Message | Guillermo Munoz | 2008-03-14 13:58:07 | Re: rendimiento postgres |