我正在尝试在 plpgsql 函数中创建一个带有动态选择查询的数组。不幸的是,我收到语法错误。
ERROR: syntax error at or near "EXECUTE"
ZEILE 19: SELECT DISTINCT INTO outputIdsToDelete ARRAY( EXECUTE findA...
^
有人可以帮我吗?这是函数本身:
创建或替换函数 deleteMAPPINGs( mapTable1_key 文本、mapping_table 文本、mapTable2_key 文本、 table2 文本,table2_key 文本, inputIdsToDelete bigint[]) 返回 bigint[] AS $身体$ 宣布 outputIdsToDelete bigint[]; findAllQuery 文本; findUnreferencedQuery 文本; 开始 findAllQuery := 'SELECT DISTINCT ' || mapTable2_key || '来自' || 映射表 || '在哪里' || mapTable1_key || ' = ANY(inputIdsToDelete)'; findUnreferencedQuery := 'SELECT DISTINCT ' || table2_key || --查找未使用的 '来自' || 表2 || '在哪里' || table2_key || '不在 (' || '选择不同的' || mapTable2_key || --全部使用 '来自' || 映射表 || ')'; SELECT DISTINCT INTO outputIdsToDelete ARRAY(EXECUTE findAllQuery); 从映射表中删除 mapTable1_key = ANY(inputIdsToDelete) 和 mapTable2_key = ANY(outputIdsToDelete); SELECT DISTINCT INTO outputIdsToDelete --用未使用的覆盖 数组(执行 findUnreferencedQuery); 返回输出IdsToDelete; 结尾; $身体$ 语言 plpgsql 易失性 费用 100;