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

У меня есть функция с параметрами числового типа, я успешно выполнил запрос, мои проблемы в том, что я не знаю, как передать несколько параметров в IN, where id in(parameter).Идентификатор типа BIGINT

Из JAVA У меня есть следующий запрос:

select parametro1, parametro2, parametro3 from function_detalls ("parameters");

Где parameters - это тип строки 1,2,3,4,5,6,7, ....

Мой вопросКак я могу передать этот тип параметра в функцию?

1 Ответ

2 голосов
/ 08 апреля 2019

Передайте массив вашей функции и используйте WHERE = ANY().

Например:

CREATE FUNCTION func_test(params text[])
RETURNS SETOF test
LANGUAGE PLPGSQL
AS $$
DECLARE
BEGIN
    RETURN QUERY
    SELECT * FROM test WHERE txt = ANY(params);
END;
$$

Для вызова:

SELECT * FROM func_test(ARRAY['hello', 'world']);

DBFiddle , чтобы показать его в действии

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