Как установить значение переменной в функции? - PullRequest
0 голосов
/ 04 января 2019

Я хочу изменить путь поиска схемы в функции на основе параметров, заданных для этой функции. Однако, называя это:

CREATE FUNCTION test(in_schema text)
RETURNS text
LANGUAGE plpgsql
AS $fun$
BEGIN
  SET search_path TO in_schema, public;

  RETURN '';
END;
$fun$

не работает. Он устанавливает путь поиска на in_schema, public вместо того, что я даю в функции.

Как установить путь поиска внутри функции?

1 Ответ

0 голосов
/ 04 января 2019

Использование динамический sql:

CREATE FUNCTION test(in_schema text)
RETURNS text
LANGUAGE plpgsql
AS $fun$
BEGIN
  EXECUTE format('SET search_path TO %I, public', in_schema);

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