Я пытаюсь немного узнать о триггерах и хочу создать триггер, который будет проверять, добавляю ли я новую строку в мою таблицу прогнозов, из которой (город, тип события, несчастные случаи)
, что, если число погибших в новой строке выше, чем в городе, я получу сообщение об ошибке, и новая строка не будет вставлена в мою таблицу прогнозирования
вот мой код
создание моего триггера
create trigger T1
before insert on prediction
for each row
execute procedure trigf1();
создание trigf1 ();
create or replace function trigf1() returns trigger as $$
declare bad_population record;
Begin
select city.cname INTO bad_population
from city
where new.casualties>city.population and new.cname=city.cname;
if exists bad_population then begin
raise notice 'bad population-more casualites than city population';
return null;
end;
else
return new;
end if;
end;
$$language plpgsql;
я получаю сообщение об ошибке при попытке ввести эти значения
insert into prediction values ('Naples', 'Volcano', 3056)
и это ошибка
ERROR: column "exists" does not exist
LINE 1: SELECT exists bad_population
^
QUERY: SELECT exists bad_population
CONTEXT: PL/pgSQL function trigf1() line 7 at IF
SQL state: 42703
Таблица моего города
моя таблица прогнозов
хотел бы, чтобы вы помогли понять ошибку и решить мою проблему