首页 > 解决方案 > 如何替换 plpsql 函数内的查询中的参数?

问题描述

我有一个名为 public.stepone(...) 的函数,它将接受一些参数并将其替换为函数内所有查询中传递的值,如下所示。这里 public 是模式名。传入的参数也是应该在所有查询中替换的模式名。

例如,如果我从命令行调用函数: SELECT public.stepone(26) 其中 26 是另一个模式名,则所有查询都应替换 26 来代替模式名。

例如,第一个查询将是 UPDATE 26.tablename SET col = someValue;

我试过的

DECLARE schemaname integer:=schemaname


CREATE OR REPLACE FUNCTION public.stepone(schemaname IN integer)
    RETURNS void
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$

BEGIN

       UPDATE schemaname.tablename SET col= someValue;


    END;
    $BODY$;

ALTER FUNCTION public.stepone(integer)
    OWNER TO postgres;


标签: postgresqlfunctionplpgsql

解决方案


推荐阅读