для каждого триггера строки и без «нового» отношения - PullRequest
2 голосов
/ 26 марта 2019

У меня есть «после вставки», триггер для каждой строки. при каждой вставке следует вставлять несколько строк в другую таблицу.

в функции триггера я могу сделать:

insert into c values (
   new.column1
)

но когда я пытаюсь изменить его на более мощную версию (прежде чем делать более сложные вставки)

insert into c select
   new.column1
from new

я получаю ошибку:

ОШИБКА: отношения "новый" не существует

как можно вставить значения, рассчитанные по запросу, который ссылается на значения new?

Ответы [ 2 ]

3 голосов
/ 26 марта 2019

new в функции триггера - это составная переменная, представляющая вставляемую строку, поэтому вы можете просто:

insert into c
select new.column1;
1 голос
/ 26 марта 2019

ключевое слово NEW ссылается на вновь вставленные значения. Чтобы получить доступ к любому из значений, вам не нужно SELECT из таблицы, вы можете просто:

INSERT INTO c (column1) VALUES NEW.column1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...