当前位置: 代码迷 >> SQL >> sql 话语 相同数据更新,不同数据插入
  详细解决方案

sql 话语 相同数据更新,不同数据插入

热度:78   发布时间:2016-05-05 13:26:13.0
sql 语句 相同数据更新,不同数据插入

执行一条Sql语句,相同的vendor_id ,inventory_item_id就更新,不同的插入新增数据

?

merge into tscs_ems_upload_storage_t a

using (select ? as vendor_id,

???????????????????? ? as inventory_item_id ,

???????????????????? ? as description ,? as unit,

???????????????????? ? as quantity,? as check_date,

???????????????????? ? as last_updated_by,

??????????????????? ?? as created_by from dual) b

on (a.vendor_id = b.vendor_id and a.inventory_item_id = b.inventory_item_id)

when matched then

????? update set

??????????? a.description? = b.description,

??????????? a.unit = b.unit,

????????????a.quantity? = b.quantity,

??????????? a.check_date? = to_date(b.check_date,'yyyy-MM-dd'),

?????????? ?a.last_updated_by = b.last_updated_by,

?????????? a.last_update_date = sysdate

when not matched then

?? insert?(a.id,a.vendor_id,a.inventory_item_id,a.description,a.unit,a.quantity,

???????????? a.check_date,a.created_by,a.last_updated_by)

values(tscs_ems_upload_storage_s.nextval,b.vendor_id,

?????????? ?b.inventory_item_id,b.description,b.unit,b.quantity,

???????????? to_date(b.check_date,'yyyy-MM-dd'),b.created_by,b.last_updated_by)

1 楼 wangxieke 2012-02-09  
  相关解决方案