小编Ves*_*lin的帖子

在PL/pgSQL中使用动态查询创建一个数组

我试图在plpgsql函数中创建一个带有动态选择查询的数组.不幸的是我收到了语法错误.

ERROR:  syntax error at or near "EXECUTE"
ZEILE 19:  SELECT DISTINCT INTO outputIdsToDelete ARRAY( EXECUTE findA...
                                                         ^
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?这是函数本身:

CREATE OR REPLACE FUNCTION deleteMAPPINGs(
   mapTable1_key text, mapping_table text, mapTable2_key text,
   table2 text, table2_key text,
   inputIdsToDelete bigint[]) RETURNS bigint[] AS
$BODY$
DECLARE
    outputIdsToDelete bigint[];
    findAllQuery text;
    findUnreferencedQuery text;
    BEGIN
    findAllQuery := 'SELECT DISTINCT ' || mapTable2_key ||
        ' FROM '  || mapping_table ||
        ' WHERE ' || mapTable1_key || ' = ANY(inputIdsToDelete)';
    findUnreferencedQuery := 'SELECT DISTINCT ' || table2_key || --find …

arrays postgresql stored-procedures execute plpgsql

5
推荐指数
1
解决办法
4509
查看次数

标签 统计

arrays ×1

execute ×1

plpgsql ×1

postgresql ×1

stored-procedures ×1