PostgresQL:循环整数[]并将当前元素插入到另一个表中
我有一个函数,它采用名为 p_categories
的参数,类型为 smallint[]
。
如何查看 p_categories
并执行以下命令,其中 cat
是 p_categories
中当前的 smallint
?
INSERT INTO mytable (i_category) VALUES (cat)
也许是这样的(伪代码)?
FOR cat in SELECT p_categories
INSERT INTO mytable (i_category) VALUES (cat)
END LOOP;
这给了我一个错误:“当 p_categories
为 '{14,20}'
时,整数输入语法无效:“{14,20}”。
I have a function which takes a parameter named p_categories
, of type smallint[]
.
How do I look through p_categories
and execute the following command, where cat
is the current smallint
in p_categories
?
INSERT INTO mytable (i_category) VALUES (cat)
Something like this (pseudocode) maybe?
FOR cat in SELECT p_categories
INSERT INTO mytable (i_category) VALUES (cat)
END LOOP;
That gives me an error: "invalid input syntax for integer: "{14,20}" when p_categories
is '{14,20}'
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您正在寻找
unnest
unnest 数组函数只是将数组展开为其元素。
或者一个更具体的例子:
I think you're looking for
unnest
The
unnest
array function just expands an array into its elements.Or a more concrete example: