<insertid="insertOrUpdateMarketBLog">
MERGE INTO "${owner}"."${tableNames}" t1 USING (
select
<foreachcollection="stringList"item="key"separator=",">
${key}
</foreach>
from "${owner}"."${tableNameTemp}"
) t2 on
<foreachcollection="pkColumnList"item="key"open="("close=")"separator="and">
t1.${key} = t2.${key}
</foreach>
when matched then update set
<foreachcollection="noList"item="key"separator=",">
t1.${key} = t2.${key}
</foreach>
when not matched then insert
<foreachcollection="keys"item="key"open="("close=")"separator=",">
${key}
</foreach>
values
<foreachcollection="keys"item="key"open="("close=")"separator=",">
t2.${key}
</foreach></insert>