Bonjour,
Je construit un base de donnée en SQL sur PostgreSQL
Mon problème: j'ai une contrainte primary key sur une table et un trigger sur la meme table qui s'occupe que modifié les valeurs pour que tout fonctionne bien
ma_table:
-reference1 REFERENCES table1(id),
-reference2 REFERENCES table2(id),
-quantite int,
-primary key(reference1, reference2)
create or replace function trigger_ma_table() RETURNS TRIGGER as
$$
begin
if tg_op='INSERT' and exists (select reference1 from ma_table
where reference1 = new.reference1 and reference2 = new.reference2)
then
update ma_table set quantite=quantite+new.quantite
where reference1 = new.reference1 and reference2 = new.reference2;
return null;
end if;
return new;
end
$$
language plpgsql;
donc si je fais un insert d'une ligne qui ce trouve déja dans la BD ca ne fonctionnera pas a cause de la pk qui se fait avant, ce que je voudrais c'est que les quantite s'aditionne.
merci pour vos réponse.
