是否可以根据返回多行的 select 在 table 中插入多行

Is it possible to insert multiple rows in a table based on a select returning more than one row

使用 Oracle SQL,我试图从 table B 插入基于 select 的 table A,但我不确定如何实现这一点,因为 select 返回不止一行。

INSERT INTO A
VALUES
(
SELECT id FROM B WHERE status = 'APPROVED',
'Hardcoded-Value'
);

Table B:

id status
1 APPROVED
2 DECLINED
3 APPROVED

基于该插入,我想实现以下目标: Table一个:

Column A Column B
1 Hardcoded-Value
3 Hardcoded-Value

您可以在 select 列表中使用 const

INSERT INTO A(colA, colB)
SELECT id, 'Hardcoded-Value'
FROM B
WHERE status = 'APPROVED'