我究竟如何让它发挥作用?我正在尽最大努力形成一个查询,该查询获取从第一个查询生成的主键,然后将它们与静态第二个值一起插入第二个表(33)。我显然得到一个"多个行返回的子查询用作表达式"错误。我用Google搜索了我的眼球,无法弄清楚这个问题。也许有更好的方式来做我想做的事。
如果重要,我正在使用Postgresql 9.5。
WITH x AS (INSERT INTO OPTIONS (manufacturer_id, category, name, description)
VALUES (
UNNEST(ARRAY['10', '22', '33']),
'ExtColor',
UNNEST(ARRAY['EC', 'IC', 'IO']),
UNNEST(ARRAY['a', 'b', 'c'])
)
RETURNING option_id)
INSERT INTO opt_car_data (car_id, option_id) VALUES ((SELECT option_id FROM x), 33);
答案 0 :(得分:1)
WITH x AS (
INSERT INTO options (manufacturer_id, category, name, description)
VALUES (
UNNEST(ARRAY['10', '22', '33']),
'ExtColor',
UNNEST(ARRAY['EC', 'IC', 'IO']),
UNNEST(ARRAY['a', 'b', 'c'])
)
RETURNING option_id
)
INSERT INTO opt_car_data (car_id, option_id)
SELECT option_id, 33
FROM x;