Sql 标识符';纽约市人口';必须申报
我试图声明一个oracle触发器,该触发器将在城市人口达到0时更新城市名称,但我遇到了此错误Sql 标识符';纽约市人口';必须申报,sql,oracle,triggers,Sql,Oracle,Triggers,我试图声明一个oracle触发器,该触发器将在城市人口达到0时更新城市名称,但我遇到了此错误 LINE/COL ERROR --------- ------------------------------------------------------------- 3/5 PL/SQL: Statement ignored 3/11 PLS-00201: identifier 'NEW.CITY_POPULATION' must be declared Errors:
LINE/COL ERROR
--------- -------------------------------------------------------------
3/5 PL/SQL: Statement ignored
3/11 PLS-00201: identifier 'NEW.CITY_POPULATION' must be declared
Errors: check compiler log```
here is my code
```CREATE TRIGGER tr_Town_Death AFTER UPDATE
ON Cities
FOR EACH ROW BEGIN
IF NEW.city_population = 0 THEN
UPDATE Cities
SET city_name = 'Ghost town'
WHERE city_id = NEW.city_id;
END IF;
END tr_Town_Death;```
:new
伪记录,则需要在其前面加一个冒号cities
上的触发器通常无法查询cities
表。在这种情况下,您似乎希望修改触发器触发的行中的数据,以便只更新:new
伪记录触发器
CREATE TRIGGER tr_Town_Death
BEFORE UPDATE
ON Cities
FOR EACH ROW
BEGIN
IF :NEW.city_population = 0
THEN
:new.city_name := 'Ghost town';
END IF;
END tr_Town_Death;