Как заменить аргумент в запросах внутри функции pl psql? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть функция с именем publi c .stepone (...), которая примет некоторый аргумент и заменит его переданным значением во всех запросах внутри функции, как показано ниже. здесь publi c - имя схемы. Аргумент передается также в имени схемы, которое следует заменить во всех запросах.

, например, если я вызываю функцию из командной строки как: SELECT publi c .stepone (26), где 26 - другое имя схемы, все запросы должны заменить 26 вместо имени схемы.

, например, для первого запроса будет ОБНОВЛЕНИЕ 26.tabletable SET col = someValue;

Что я пробовал

ОБЪЯВИТЬ целое имя схемы: = имя схемы


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;


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...