2015-08-14 17 views
0

我在oracle中有兩個表。 一個包含600000行,其他臨時表包含600000多行。 如果在使用合併語句的登臺表中有任何新行可用,我想從登臺表插入實際表。 (或者有其他更好的方法嗎?) (這兩個表的結構都是相同的,大約有15列,而不是檢查一個主鍵,我想檢查所有字段的匹配條件)。當整行不匹配時Oracle合併語句

任何人都可以幫助請..

+0

合併似乎要走的路 – davegreen100

+0

嗨謝謝...你能幫我一個例子,檢查多個領域 –

回答

2

你就不能使用MERGE按正常:

MERGE INTO bonuses b 
USING (
    SELECT employee_id, salary, dept_no 
    FROM employee 
    WHERE dept_no =20) e 
ON (b.employee_id = e.employee_id 
AND b.dept_no = e.dept_no) 
WHEN MATCHED THEN 
    UPDATE SET b.bonus = e.salary * 0.1 
WHEN NOT MATCHED THEN 
    INSERT (b.employee_id, b.bonus) 
    VALUES (e.employee_id, e.salary * 0.05) 
    WHERE (e.salary > 40000); 

但在「ON」的條款剛剛加入你想要的所有列。

使用MERGE絕對是要走的路。

相關問題