Re: Trigger con consulta sql a otra tabla

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>
Cc: Lista Ayuda Pgsql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Trigger con consulta sql a otra tabla
Date: 2005-06-01 17:51:08
Message-ID: c2d9e70e0506011051517b1fb3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 6/1/05, Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> wrote:
> Hola mis amigos. Una pregunta. ¿Cómo podría hacer un trigger que antes de
> actualizar un campo numérico de una tabla(t1), si el nuevo valor del campo es
> mayor que el campo numérico de otra tabla(t2), ponga el valor del campo de t2?.
>
> En caso que el nuevo valor del campo de t1 sea menor o igual al campo de t2,
> el update debería hacerse. Es decir, el campo de t1 tiene que ser siempre como
> máximo igual al campo de t2.
>
> El trigger sería sobre t1 y lo quiero hacer en plpgsql, pero no sé cómo
> igualar el new.campo con el valor de un "select campoNumerico from t2 where
> new.referenciaDet1at2 = id_t2". Espero que se entienda. Tengo Postgres 8.03 en
> linux. Un gran saludo...
> -
create function foo() returns trigger as '
declare
campo int;
begin
select campoNumerico into campo from t2 where id_t2 =
new.referenciaDet1at2;

if new.campo_t1 > campo then
new.campo_t1 := campo;
end if;

return new;
end; '
language 'plpgsql';

puede ser que me falte algo pero la idea es esa...

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Pablo Espino 2005-06-01 18:39:40 Re: RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Comparación entre DBMSs de codigo abierto
Previous Message Ing. Jhon Carrillo - Caracas, Venezuela 2005-06-01 17:35:43 unsubscribe