【发布时间】:2019-11-20 05:23:57
【问题描述】:
PostgreSQL 11.1
我想在 PostgreSQL 中做这样的事情,但不知道如何读取数组,也不知道如何从数组中插入。我被卡住了。
WITH _in (name, cash, checks) AS (
VALUES (UPPER($1), ARRAY[]::numeric(10,2), ARRAY[]::numeric(10,2)
)
INSERT INTO payments(name, cash, checks)
SELECT n.name, n.cash, n.checks
FROM _in n;
也就是说,我需要 CTE 接受现金数组和支票数组——现金数组和支票数组彼此一对一,并将其与单个名称值匹配。因此,我希望 INSERT INTO 付款实际上在付款表中执行以下插入操作:
record 0 : name, cash[1], check[1]
record 1 : name, cash[2], check[2]
record 2 : name, cash[3], check[3]
等等……
这个可以吗?
TIA
【问题讨论】:
标签: arrays postgresql common-table-expression