我目前正在插入此数据{"curr": "testcurr","nm": "testnm"}
一个观点。
然后运行触发器功能以插入到原始表中。
我从触发器功能中收到错误column "curr" does not exist
。
以下是我的代码部分:
IF (tg_op = 'INSERT') THEN
NEW."dat"= jsonb_build_object("curr",NEW."curr","symb",NEW."symb");
NEW."ct"=now();
INSERT INTO data.tbl
(
"nm",
"dat",
"ct",
)
VALUES
(
NEW."nm",
NEW."dat"
NEW."ct"
)returning "id" into NEW.id;
END
如您所见,原始表格中不包含' curr'专栏,但我的帖子数据不应该有任何问题吗?
答案 0 :(得分:1)
变化:
jsonb_build_object("curr",NEW."curr","symb",NEW."symb")
为:
jsonb_build_object('curr',NEW."curr",'symb',NEW."symb")
https://www.postgresql.org/docs/current/static/functions-json.html
查看示例 - 获取密钥"foo"
,您传递字符串'foo'
双引号用于标识符 - 列,关系等名称 - 请检查https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS