J'ai donc deux tables, je veux avoir une colonne sur une table incrémentée ou décrémentée lorsque des éléments d'une autre table sont ajoutés ou supprimés, le lien est la clé FOREIGN.SQLite Déclencheur sur une table pour incrémenter et décrémenter la colonne autre table
J'ai deux déclencheurs, mais je ne sais pas s'ils fonctionneraient. J'aimerais donc savoir si j'abois ou non le bon arbre, si je me trompe ou s'il n'y a pas d'amélioration?
SQL =
CREATE TABLE IF NOT EXISTS Agents(
Id INTEGER PRIMARY KEY,
Name TEXT,
Office_Count INT,
);
CREATE TABLE IF NOT EXISTS Branches(
Id INTEGER PRIMARY KEY,
Street_Address TEXT,
City TEXT,
Postcode TEXT,
Agents_Id INTEGER,
FOREIGN KEY(Agents_Id) REFERENCES Branches(Id)
);
CREATE TRIGGER Branches_Count_Increment AFTER INSERT ON Branches
BEGIN
UPDATE Agents SET
Office_Count=(MAX(Office_Count)+ 1 FROM Branches Where Agents_Id=Agents.Id) WHERE Id=NEW.Id;
END;
CREATE TRIGGER Branches_Count_Decrement AFTER DELETE ON Branches
BEGIN
UPDATE Agents SET
Office_Count=(MAX(Office_Count)- 1 FROM Branches Where Agents_Id=Agents.Id) WHERE Id=NEW.Id;
END;
Je recommande de ne pas le faire. Calculer le nombre à la volée si nécessaire –