PostgreSQL:带有 ANY($1) 的 PREPARED 语句
我想创建一个准备语句,其中输入是一些计数未知的整数。 我尝试做的方式是
PREPARE prep_select_data AS SELECT ARRAY[$1, id], $1, * FROM tbl_data WHERE id = ANY($1);
我得到的错误是:
ERROR: op ANY/ALL (array) requires array on right side
LINE 1: ...ELECT ARRAY[$1, id], $1, * FROM tbl_data WHERE id = ANY($1);
^
我无法弄清楚问题。
请指教。
问候,
玛雅克
I want to create a PREPARED STATEMENT where inputs are some integers whose count is not known.
The way I'm trying to do is
PREPARE prep_select_data AS SELECT ARRAY[$1, id], $1, * FROM tbl_data WHERE id = ANY($1);
The error I'm getting is:
ERROR: op ANY/ALL (array) requires array on right side
LINE 1: ...ELECT ARRAY[$1, id], $1, * FROM tbl_data WHERE id = ANY($1);
^
I'm not able to figure out the issue.
Please advise.
Regards,
Mayank
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于错误表明您需要将
$1
指定为(整数)数组:我将
ARRAY[$1, id]
更改为$1 || ARRAY[id]
,所以结果看起来像:这是因为(来自 doc ):
As error says you need to specify your
$1
as array (of integers):I changed
ARRAY[$1, id]
to$1 || ARRAY[id]
, so result looks like:It's because (from doc):