Alg*_*lor 3 sql postgresql plpgsql
我想按照以下方式在 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;
Run Code Online (Sandbox Code Playgroud)
但是,它告诉我这WHERE form.name IN get_form_names在语法上是不正确的。
我找不到任何关于如何在 postgres 函数调用中使用数组变量的文档。
无论如何,是否可以在 a 中使用作为函数参数传递的数组值WHERE ... IN?
使用any:
where form.name = any (get_form_names)
Run Code Online (Sandbox Code Playgroud)
in将用于离散的项目列表,但any用于数组。
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |