我有“插入后”,“每行”触发器。每次插入时,都应在不同的表中插入几行。
在触发功能中,我可以执行以下操作:
insert into c values (
new.column1
)
但是当我尝试将其更改为更强大的版本时(在进行更复杂的插入之前)
insert into c select
new.column1
from new
我得到一个错误:
错误:关系“ new”不存在
如何插入根据查询new
的值计算得出的值?
答案 0 :(得分:3)
new
是一个复合变量,表示要插入的行,因此您可以:
insert into c
select new.column1;
答案 1 :(得分:1)
NEW关键字引用新插入的值。要访问任何值,无需从表中SELECT
,只需:
INSERT INTO c (column1) VALUES NEW.column1