在 Postgres 函数中使用 WHERE ... IN

Using WHERE ... IN in a Postgres Function

我想按照以下方式在 Postgres 中创建一个函数:

CREATE OR REPLACE FUNCTION public.getAvailableForms (
    get_form_names  TEXT[]
) RETURNS TABLE (
    id          INTEGER,
    name        TEXT,
    location    TEXT,
    created     TIMESTAMP
) AS $$
BEGIN
    RETURN QUERY
        SELECT *
          FROM form
         WHERE form.name IN get_form_names;
END;
$$  LANGUAGE plpgsql
    SECURITY DEFINER;

但是,它告诉我 WHERE form.name IN get_form_names 在语法上不正确。

我找不到任何关于如何在 postgres 函数调用中使用数组变量的文档。

无论如何,是否可以在 WHERE ... IN 中使用作为函数参数传递的数组值?

使用any:

where form.name = any (get_form_names)

in 将用于离散的项目列表,但 any 用于数组。