merge into:仅需要一次全表扫描就完成了全部工作,执行效率要高于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;例子: merge into test_a a --test表是需要更新的表 using test_b b -- 关联表 on (a.id=b.id) --关联条件 when matched then --匹配关联条件,作更新处理 update set a.name = b.name+1 when not matched then --不匹配关联条件,作插入处理。 insert values( b.id, b.name);一条条插入这个也是很实用的,你的是动态sql可以用execute immediate sql using ... 这样可以避免每次都需要解析你的语句,提高执行的速度。
merge into:仅需要一次全表扫描就完成了全部工作,执行效率要高于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;例子:
merge into test_a a --test表是需要更新的表
using test_b b -- 关联表
on (a.id=b.id) --关联条件
when matched then --匹配关联条件,作更新处理
update set a.name = b.name+1
when not matched then --不匹配关联条件,作插入处理。
insert values( b.id, b.name);一条条插入这个也是很实用的,你的是动态sql可以用execute immediate sql using ...
这样可以避免每次都需要解析你的语句,提高执行的速度。