【发布时间】:2020-08-16 05:55:31
【问题描述】:
我是 SQL 新手。我可能没有使用正确的术语或语法。代码背后的目标是,如果一个城市的人口减少 10% 以上,那么该城市的大陆人口减少 5%。我试图通过使用嵌套查询来建立一个城市的流行衰落与其大陆之间的联系。这是正确的方法吗?
DELIMITER $$
CREATE TRIGGER PopAdjustment
AFTER UPDATE
ON City
FOR EACH ROW
IF (City.NEW_Population / City.Population) = < .9
THEN
SELECT City.Name, Country.Continent FROM Country JOIN Country ON City.CountryCode = Country.Code
WHERE City.NEW_Population / City.Population = < .9
SET Country.Continent = (Country.Continent * 0.95) ;
END IF;
END$$
DELIMITER ;
【问题讨论】:
-
不允许从触发器返回结果集(即选择而不是选择进入)
-
您在 2 天前问过这个问题。如果您添加示例数据和预期输出,您将更有可能获得答案。
标签: mysql sql triggers database-trigger