我正在使用INSERT ALL
Oracle 中的一条语句将数据插入两个不同的表中。数据来自一个相当复杂的子查询,而不是一个VALUES
子句。
我的问题是我不想将子查询返回的所有列都插入到两个表中。
举个简单的例子,假设我有两个表tab1
,tab2
每个表包含三列col1
,col2
和col3
.
A
现在假设我的子查询返回包含值和B
的单行C
。
所以,我想A
,B
和分别C
插入col1
,col2
和col3
,tab1
但我只想说A
和C
进入col1
和col3
。tab2
我的陈述看起来像这样:
INSERT ALL
INTO tab1
(col1, col2, col3)
INTO tab2
(col1, ?, col3)
FROM
( ...
complex subquery which returns A, B, C
...
)
有没有办法可以使用某种“填充”或“垃圾栏”来实现我的目标?