Oracle 使用MERGE INTO 語句更新數據

/*Merge into 詳細介紹
MERGE語句是Oracle9i新增的語法,用來合併UPDATE和INSERT語句。
經過MERGE語句,根據一張表或子查詢的鏈接條件對另一張表進行查詢,
鏈接條件匹配上的進行UPDATE,沒法匹配的執行INSERT。
這個語法僅須要一次全表掃描就完成了所有工做,執行效率要高於INSERT+UPDATE。 
*/
/*語法:
MERGE [INTO [schema .] table [t_alias] 
USING [schema .] { table | view | subquery } [t_alias] 
ON ( condition ) 
WHEN MATCHED THEN merge_update_clause 
WHEN NOT MATCHED THEN merge_insert_clause;
*/spa

複製代碼

merge into users
using doctoron (users.user_id = doctor.doctorid)when matched then
  update set users.user_name = doctor.doctornamewhen not matched then
  insert
  values
    (doctor.doctorid,
     doctor.doctorid,     '8736F1C243E3B14941A59FF736E1B5A8',
     doctor.doctorname,
     sysdate,     'T',     ' ',
     doctor.deptid,     'b319dac7-2c5c-496a-bc36-7f3e1cc066b8');

複製代碼

相關文章
相關標籤/搜索