错误:数组值必须以“{”开头或尺寸信息
这是我的函数:
DECLARE
f_ids integer[] := '{}';
BEGIN
SELECT INTO f_ids "fileId" FROM "tbFiles" WHERE "size" <= $2 AND
"size" >=$1 ;
RETURN f_ids;
END;
这个函数应该返回 bigint[],但是当我尝试运行它时,我收到此错误:
SELECT "GetFilesBySize"(0,888)
ERROR: array value must start with "{" or dimension information
CONTEXT: PL/pgSQL function "GetFilesBySize" line 4 at SQL statement
在我看来,数组已正确初始化,那么错误在哪里?
This is my function:
DECLARE
f_ids integer[] := '{}';
BEGIN
SELECT INTO f_ids "fileId" FROM "tbFiles" WHERE "size" <= $2 AND
"size" >=$1 ;
RETURN f_ids;
END;
This function should return bigint[]
, but when I try to run it I get this error:
SELECT "GetFilesBySize"(0,888)
ERROR: array value must start with "{" or dimension information
CONTEXT: PL/pgSQL function "GetFilesBySize" line 4 at SQL statement
It seems to me that the array is properly initialized, so where is the mistake?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这会起作用:
但我认为,您最好使用真正的设置返回函数或使用
RETURN QUERY
。查找 PostgreSQL 手册以获取这两个术语。This will work:
But I think, you are better off using real set returning functions or use
RETURN QUERY
. Lookup the PostgreSQL manual for the both terms.