From: | "Jose Antonio Leo" <jaleo8(at)storelandia(dot)com> |
---|---|
To: | <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx> |
Subject: | [Pgsql-ayuda] Funcion en plpgsql |
Date: | 2002-07-24 12:49:59 |
Message-ID: | AEEGKNMMPPBJJDLEJDODIEPACHAA.jaleo8@storelandia.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Tengo la siguiente función la lanza un trigger después de una inserción;
BEGIN
select cod_pto , fecha , int_art
from vtdiaart
where cod_pto = NEW.cod_pto and fecha = NEW.fecha AND int_art =
NEW.int_art;
IF FOUND THEN
UPDATE vtdiaart
set ven_uni = ven_uni + NEW.can_art, ven_pco = ven_pco + NEW.pvp_art,
ven_siv = ven_siv + NEW.pvp_tot, ven_civ = ven_civ + NEW.pvp_tot, oferta =
oferta + NEW.pcp_tot;
select 1 as ignore this;
ELSE
INSERT INTO vtdiaart (cod_pto, fecha , int_art , ven_uni, ven_pco, ven_siv,
ven_civ, oferta)
VALUES(
NEW.cod_pto, NEW.fecha , NEW.int_art ,
NEW.can_art, NEW.pvp_art, NEW.pvp_tot, NEW.pvp_tot, new.pcp_tot);
return NEW;
END IF;
END;
el trigger inserta un registro en la tabla1 y la función verfica si al la
tabla2(vtdiaart) existe ese codigo, para en el caso de que no exista haga un
insert y en el caso de que exista un update. Pero no se como controlar que
exista ese codigo. Lo intento hacer con el primer select, pero no es
correcto.
A ver sime podeis ayudar , Gracias y un saludo
From | Date | Subject | |
---|---|---|---|
Next Message | Manuel Sugawara | 2002-07-24 15:12:14 | Re: [Pgsql-ayuda] Pregunta sobre performance de Postgresql |
Previous Message | sondrobe | 2002-07-24 12:46:19 | RE: [Pgsql-ayuda] De campos seriales, commits y roll-backs |