如何将值设置为JSON对象中的键,当键是变量时?
我有一个函数,代码如下:
CREATE OR REPLACE FUNCTION on_text_key_insert() RETURNS trigger AS $$
...
UPDATE t_text SET all_keys->NEW.key = NEW.value
WHERE node = NEW.node;
这会产生错误:
CREATE FUNCTION
ERROR: syntax error at or near "->"
LINE 6: UPDATE t_text SET all_keys->NEW.key = NEW.value
医生说使用->
,我正在使用它!为什么它不起作用?
假设NEW.value
为字符串:
SET all_keys = jsonb_set(all_keys, ARRAY[NEW.key], ('"'||NEW.value||'"')::jsonb)