[Pgsql-ayuda] Funcion en plpgsql

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

In response to

Browse pgsql-es-ayuda by date

  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