Trigger qui incrémente un champ

Trigger qui incrémente un champ - SQL/NoSQL - Programmation

Marsh Posté le 03-03-2012 à 12:30:23    

Bonjour,
 
J'ai les tables Commune, Quartier et Logement. Dans la table Quartier j'ai un champ nbrlogement.
 
A chaque fois que j'insère un nouveau logement j'aimerai incrémenter nbrlogement de 1 afin de savoir le nombre de logemements par Commune.
 
J'ai essayé de plusieurs façons sans succès. Voici le derniers truc que j'ai essayé :
 

Code :
  1. CREATE OR REPLACE TRIGGER Maj_nbrlogement AFTER INSERT ON Logement
  2. FOR EACH ROW
  3. BEGIN
  4.    UPDATE  Commune
  5.    SET nbrlogement = nbrlogement+1 FROM Commune,Quartier,Logement
  6.    WHERE Commune.idlogment=Quartier.idcom AND Quartier.idquartier=Logement.idquart;
  7. END ;
  8. /


 
Merci d'avance pour votre aide :)

Reply

Marsh Posté le 03-03-2012 à 12:30:23   

Reply

Marsh Posté le 05-03-2012 à 09:29:04    

Ne garde pas de champ qui peuvent etre calculé dans ta DB.
Recalcule a la volée quand tu en as besoin.
 
Si tu veux quand meme les garder dans ta DB (uniquement pour raison de perf), fais en sorte que ton appli mette le champ a jour apres avoir inseré un logement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed