EXECUTE format('Select Into taskgroup_cnt count(x.*)
From %I.op_user_event_data a
CROSS JOIN LATERAL
json_array_elements((data->''taskGroups'')::json) As x
Where a.event_id=' || cur_event_id, cur_instance);
在一个函数中抛出:
错误:“count”或附近的语法错误
第1行:选择进入taskgroup_cnt count(x。*)
我在这里做错了什么?
编辑:
我设法让它工作,我的问题是我有一个动态查询,并且无法写入变量。这个approuch解决了这个问题:
EXECUTE 'SELECT count(x.*) From '|| cur_instance ||'.op_user_event_data a
CROSS JOIN LATERAL
json_array_elements((data->''taskGroups'')::json) As x
WHERE a.event_id=' || cur_event_id
INTO taskgroup_cnt;
全部恢复语法。
答案 0 :(得分:0)
EXECUTE 'SELECT count(x.*) From '|| cur_instance ||'.op_user_event_data a
CROSS JOIN LATERAL
json_array_elements((data->''taskGroups'')::json) As x
WHERE a.event_id=' || cur_event_id
INTO taskgroup_cnt;