是否可以根据返回多行的 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'
使用 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'