我們有時需要對一個表進行更新操作,當某條記錄不存在的時候進行插入操作,存在的時候更新紀錄。通常我們使用if(exists(select ....)update....else insert,這樣進行兩遍表掃描,效率很低,在Oracle 9i以上有一個關鍵字merge,我們使用它就可以了。merge into 需要兩個標操作,我們利用dual merge into referer_stat L using (select '1' from dual) N on (L.webid=234) WHEN MATCHED THEN UPDATE set count = count +1 WHEN NOT MATCHED THEN INSERT (webid)values(234) ;