日期:2014-05-16 浏览次数:20485 次
自从版本9i之后,对于“有则更新,无则插入”有了一个新的用法,不需要再执行2次SQL了。
MERGE INTO本来应该是用来合并表的,不过因为其特性,根据用途不同可以用在以下场合:
1.合并表
2.外部数据插入更新
3.用JOIN表更新
各种情况下的
1.合并表
把表格T2的数据合并到表格T1里,根据结合条件,如果存在则更新,不存在则插入
MERGE INTO T1 USING T1 ON( T1.user_id = T2.user_id ) WHEN MATCHED THEN UPDATE SET T1.user_nm = T2.user_nm WHEN NOT MATCHED THEN INSERT (user_id,user_nm) VALUES (T2.user_id,T2.user_nm)
2.外部数据插入更新
根据外部传进来的参数,如果存在的话,用给定的参数更新,如果不存在则插入