我有2张桌子,城市和国家。当城市人口减少5%以上时,如何使同一大陆上每个国家的人口减少5%时如何触发?
城市:
|Name | Country Code |Population
|------------|--------------|----------
| Dubai | ARE | 669181
| Abu Dhabi | ARE | 123456
| Sharja | ARE | 23456
国家:
|Code | Continent |Population| Name
|------|-----------|----------|----------
| ARE | Asia | 2441000 | United Arab Emirates
| ARM | Asia | 3520000 | Armenia
这是我到目前为止的查询:
delimiter $$
create trigger decreasePop
before update on city
for each row
begin
update city set population = population * 0.95;
end $$
delimiter
但是我不知道如何检查百分比变化而不会遇到一些错误。
该如何解决?谢谢!
答案 0 :(得分:0)
使用IF
和new
和old
伪行。
...
IF new.population / old.population < 0.95 THEN
UPDATE city
SET population = population * 0.95;
END IF;
...