我在Oracle中使用INSERT ALL
语句将数据插入到两个不同的表中。数据来自相当复杂的子查询而不是VALUES
子句。选择Oracle中的选择列INSERT ALL语句
我的问题是,我不希望插入子查询返回到这两个表中的所有列。
作为一个简单的例子,假设我有两个表tab1
和tab2
各自含有三列col1
,col2
和col3
。
现在假设我的子查询返回值为A
,B
和C
的单行。
所以,我想A
,B
和C
分别插入col1
,col2
和tab1
col3
,但我想,说,只有A
和C
进入col1
和tab2
col3
。
我的发言会是这个样子:
INSERT ALL
INTO tab1
(col1, col2, col3)
INTO tab2
(col1, ?, col3)
FROM
(...
complex subquery which returns A, B, C
...
)
有没有一种方法,我可以使用一些不大不小的“填充物”或“垃圾柱”的,让我实现我的目标是什么?
有没有这样做没有'values'条款的一种方式? – 2012-04-10 17:51:40
@Isaac,没有'values'子句,它如何知道select中的哪些列要分配给目标表中的每一列? – 2012-04-11 02:29:55