Задать вопрос
@artemfisher

Почему для триггера AFTER INSERT FOR EACH ROW ошибка: отношение «new» не существует?

Добрый день!

Создаю триггерную функцию:
create function trigger_test_func() returns trigger
as
$$
declare
v text;
begin
select txt into v from new;
insert into test_after(val) values(v);
end;
$$
language plpgsql;


Создаю триггер:
create trigger trigger_test after insert on test
for each row
execute function trigger_test_func();


теперь пытаюсь вставить данные в таблицу test:
insert into test(txt) values('mytext')

Получаю ошибку:
ERROR: отношение "new" не существует

При этом в документации сказано, что для строковых триггеров типа INSERT отношение NEW существует.
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Melkij
@Melkij
DBA Team для вашего PostgreSQL?
insert into test_after(val) values(new.txt);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы