我使用的Postgres 9.5,定义触发到线时行添加到一个表中运行,东西:PostgreSQL的:如何从记录在功能结构驼峰访问键触发
CREATE TRIGGER addedTrigger AFTER INSERT ON ships
FOR EACH ROW EXECUTE PROCEDURE added();
我的added
函数是用plpgsql编写的,其目的是获取一些数据,将其组装成一定的格式,并通过pg_notify发送到一个通道。这是类似的东西身体:
$$
BEGIN
PERFORM pg_notify('events', json_build_object('type', 'ADDED', 'userId', NEW.userId)::text);
RETURN NULL;
END;
$$
然而,触发运行时,我收到以下错误消息:
ERROR: record "new" has no field "userid"
CONTEXT: SQL statement "SELECT NEW.userId"
PL/pgSQL function added() line 5 at RAISE
不知何故,PLPGSQL函数内部downcasing我的钥匙注释,我不确定如何恰当地使用它,因为我在野外看到的所有示例都使用非主键或外键属性,并且所有这些属性都是downcased。
从'错误friendregistered()',但你'加()'扳机 - 水木清华你不告诉我们。 –
道歉,迷路了,在整个重命名我的功能? ) – ChuckE
'NEW.userId'中有混合的情况 - 如果确实有这种情况,那么更改为'NEW。“userId”' –