【发布时间】:2020-04-25 06:33:23
【问题描述】:
postgres 和 SQL 的新手。 表很少,并尝试编写可以跟踪任何更新并在审计表中捕获详细信息的通用函数。
参考另一个帖子表单上的回复表单Demian Martinez 这种方法解决了问题,我不必硬编码列名并维护函数。
但是,当我尝试在插入语句中包含登录信息时,如图所示,我收到的消息表明 SELECt 语句中存在一些语法问题。
insert into request_trail (Requ_Id,Time_stam,Acti,uid,Deta) values ('ST00000011',now(),'U',1234567,
SELECT pre.key AS columname, pre.value AS prevalue, post.value AS postvalue
FROM jsonb_each('{"col1": "same", "col2": "prediff", "col3": 1, "col4": false}') AS pre
CROSS JOIN jsonb_each('{"col1": "same", "col2": "postdiff", "col3": 1, "col4": true}') AS post
WHERE pre.key = post.key AND pre.value IS DISTINCT FROM post.value
AND pre.key IN ('col1', 'col2'));
ERROR: syntax error at or near "SELECT"
LINE 2: SELECT pre.key AS columname, pre.value AS prevalue, post.val...
不知道我做错了什么以及如何解决。 谁能给点建议?
【问题讨论】:
标签: postgresql sql-insert