[Pgsql-ayuda] Funcion en plpgsql

Jose Antonio Leo jaleo8@storelandia.com
Wed, 24 Jul 2002 14:49:59 +0200


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