如何解决Postgres嵌套数组语法有问题
我正在寻找有关进行此插入的最佳方法的指导。我试图为role_id 58385
创建11个条目,同时循环遍历每个数组的值。我是PostgreSQL的新手,需要有关我在这种情况下做错了什么的指导。
INSERT INTO public.acls (role_id,acl_id,update,can_grant,retrieve,create,archive) VALUES (
'58385',unnest(array[1,14,20,21,22,24,25,26,36,300,302]),unnest(array[f,f,t,t]),f]),unnest(array[t,f])
)
每个数组都需要一个SELECT
子查询吗?或者我可以从六个数组中创建一个数组并将其插入。
解决方法
一个select
会为您完成,但是t
和f
必须是true
和false
:
select '58385',unnest(array[1,14,20,21,22,24,25,26,36,300,302]),unnest(array[false,false,true,true]),false]),unnest(array[true,false])
;
?column? | unnest | unnest | unnest | unnest | unnest | unnest
----------+--------+--------+--------+--------+--------+--------
58385 | 1 | f | f | t | f | f
58385 | 14 | f | f | t | f | f
58385 | 20 | t | f | t | t | f
58385 | 21 | t | f | t | t | f
58385 | 22 | f | f | t | f | f
58385 | 24 | f | f | t | f | f
58385 | 25 | f | f | t | f | f
58385 | 26 | t | f | t | t | f
58385 | 36 | f | f | t | f | f
58385 | 300 | t | f | t | t | f
58385 | 302 | t | f | t | t | f
(11 rows)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。