【发布时间】:2018-03-12 16:17:59
【问题描述】:
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.*)
我在这里做错了什么?
编辑:
我设法让它工作,我的问题是我有一个动态查询并且无法写入变量。这个方法解决了这个问题:
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;
全部恢复语法。
【问题讨论】:
-
提示:
select count(*) into taskgroup_cnt. -
这与我想要的相反...谢谢!
-
如果@GordonLinoff 的提示与您想要的相反,那么您可能误解了语法。在这种情况下,您应该描述您的愿望,以便我们知道您想要什么。
-
其实不是相反,我会根据@GordonLinoff 的anwser 来编辑我的anwser,这给了我一个线索。
-
实际上将您的解决方案作为答案并将其设置为解决方案
标签: sql postgresql function