Здравствуйте.
В Постгре есть возможность передавать в качестве параметра функции массив.
Вопрос как его использовать?
Конкретнее нужна функция с параметром integer[].
Запрос примерно такой (как я его представляю), не работает:
SELECT name
FROM table
WHERE id IN $1[]
Вот такой работает:
SELECT name
FROM table
WHERE id = $1[1]
Но я не знаю заранее размер массива, он произвольный. Где я чего не досмотрел?
P.S. Поиск кажется не работает.
На первый взгляд видно, что
На первый взгляд видно, что вы сравниваете целое id с массивом целых (в IN). Как же оно должно работать?
Т.е. круглые скобки должны быть - это раз и в скобках должен быть список целых - это два.
Перепробовал разные скобки и
Перепробовал разные скобки и прочие методы
заработало только вот так
WHERE id = ANY($1)
хотя судя по документации, должен был работать и такой метод
WHERE id IN (SELECT $1)
но у меня не заработало, почему не понял.
Можно так for i in
Можно так
for i in 1..(array_upper(iarr,1)) loop
if iarr[i]=11 then
j=j+1;
end if;
end loop;