日期:2014-05-16 浏览次数:20559 次
自从版本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.外部数据插入更新
根据外部传进来的参数,如果存在的话,用给定的参数更新,如果不存在则插入