我在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