0
我在這個例子與合併操作的工作,如:甲骨文合併及第三方表格
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9016.htm
我怎樣才能使插入到對方表裏面的「當匹配」和「當不匹配」的條款?
更新:可能在這些子句中設置一些標誌?爲了在下一個步驟中使用它 - 執行插入...
我在這個例子與合併操作的工作,如:甲骨文合併及第三方表格
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9016.htm
我怎樣才能使插入到對方表裏面的「當匹配」和「當不匹配」的條款?
更新:可能在這些子句中設置一些標誌?爲了在下一個步驟中使用它 - 執行插入...
考慮到您希望受益於MERGE
子句,實際上是UPDATE
表,您對標誌的建議是一個不錯的主意IMO。假設你想合併TAB_A
和TAB_B
到TAB_C
,你首先需要ALTER TABLE TAB_A ADD (FLAG VARCHAR2(1));
。
然後MERGE
將包括設立標誌:
MERGE INTO tab_a a
USING (tab_b) b
ON (...)
WHEN MATCHED THEN UPDATE SET a.flag = 'U'
WHEN NOT MATCHED THEN INSERT (..., FLAG) VALUES (..., 'I')
;
然後,您可以更新TAB_C
,如:
INSERT INTO tab_c
SELECT ...
FROM tab_a a
WHERE a.flag = 'I';
和同類UPDATE
與 'U' 標誌線。完成後請不要忘記在TAB_A
中重置標誌!
目前尚不清楚你在做什麼。在一個不同的模式中表示一個表,你可以在'into'子句中指定?或者你想插入與'into'目標不同的表中?這真的沒有道理,並會建議你使用錯誤的語句... – 2014-09-23 09:38:15
我想執行合併和並行插入數據到另一個表合併/插入記錄標識符 – mgurov 2014-09-23 09:42:36
這並不是很清楚.. 。你想'合併成table_a ...',但插入*不同的*表中?那麼這不是合併。 – 2014-09-23 09:52:12