【发布时间】:2018-08-01 21:42:23
【问题描述】:
我正在尝试一次性执行以下语句。就像我们使用 INSERT ALL 在单次执行中插入行一样。有什么方法可以在一次执行中执行以下两条语句(使用 INSERT ALL)。
INSERT
INTO TABLE_a
(
COLUMN_1,
COLUMN_2,
COLUMN_3,
COLUMN_4,
COLUMN_5,
COLUMN_6,
COLUMN_7,
COLUMN_8
)
SELECT 1234, -- unique id for this insertion
COLUMN_2,
COLUMN_3,
COLUMN_4,
COLUMN_5,
COLUMN_6,
COLUMN_7,
COLUMN_8
FROM TABLE_B
WHERE COLUMN_9=1;
INSERT
INTO TABLE_a
(
COLUMN_1,
COLUMN_2,
COLUMN_3,
COLUMN_4,
COLUMN_5,
COLUMN_6,
COLUMN_7,
COLUMN_8
)
SELECT 1235, -- unique id for this insertion
COLUMN_2,
COLUMN_3,
COLUMN_4,
COLUMN_5,
COLUMN_6,
COLUMN_7,
COLUMN_8
FROM TABLE_B
WHERE COLUMN_9=2;
【问题讨论】:
-
这与 INSERT ALL 有什么关系? (提示:NOTHING!)您可以在单个 INSERT 语句中轻松做到这一点:只保留第一个语句,但将 WHERE 子句更改为
WHERE COLUMN_9 IN (1, 2) -
我的错,我的例子是错误的。我已经更新了问题。
标签: oracle plsql oracle11g oracle12c