new 直接用|| 拼接的sql 执行会有报错;需要用到excute format 的格式
在 EXECUTE
语句中,它将 NEW
识别为表名,而不是传递给触发器函数的变量;
正确写法如下:
EXECUTE format('insert into gp.'||TG_TABLE_NAME||' SELECT ($1).*;') USING NEW;
在上面sql 语句中TG_TABLE_NAME 为所在触发器的表名,$1 用来传递变量
new 直接用|| 拼接的sql 执行会有报错;需要用到excute format 的格式
在 EXECUTE
语句中,它将 NEW
识别为表名,而不是传递给触发器函数的变量;
正确写法如下:
EXECUTE format('insert into gp.'||TG_TABLE_NAME||' SELECT ($1).*;') USING NEW;
在上面sql 语句中TG_TABLE_NAME 为所在触发器的表名,$1 用来传递变量