我正在寻找以下物品!我有一个住所表,每个住所都有一个ID,该ID对应于它所在的地区。我有一个有ID,NAme和住所计数的地区表。我想要的是随着居住地从一个区域转移到另一个区域而动态更新每个区域的居住数量。我知道我需要一个触发器来强制执行更新,但是我不确定我需要什么,也不知道如何INSERT INTO District.resCount SUM(Select * FROM residences R WHERE R.dID = District.ID);
定期地。
最佳答案
如果您使用的是MySQL,
尝试这个:
SET @districtID = 'some_id'
SET @rescount = Select count(*) FROM residences WHERE dID = @districtID
INSERT INTO District (ID, rescount) values ( @districtID, @rescount);
或者您可以使用这样的触发器:
CREATE TRIGGER upd_district AFTER INSERT ON residences
FOR EACH ROW
BEGIN
SET @rescount = Select count(*) FROM residences WHERE dID = NEW.dID
UPDATE District SET rescount = @rescount WHERE districtID = NEW.dID
END;