【发布时间】:2019-03-27 22:58:52
【问题描述】:
我有两个 SQL Server 表,我需要将记录从一个表添加到下一个表。如果目标表中已经存在唯一标识符,则将记录更新为来自源表的数据 - 如果唯一标识符不存在,则将整个新记录插入目标表中。
我似乎已经让我更新目标表中记录的初始部分开始工作,但我将插入新记录的部分似乎没有工作。
if exists (
select 1
from SCM_Top_Up_Operational O
join SCM_Top_Up_Rolling R ON O.String = R.string
)
begin
update O
set O.Date_Added = R.Date_Added,
O.Real_Exfact = R.Real_Exfact,
O.Excess_Top_Up = R.Excess_Top_Up
from SCM_Top_Up_Operational O
join SCM_Top_Up_Rolling R on O.String = R.String
where O.String = R.string and R.date_added > O.date_added
end
else
begin
insert into SCM_Top_Up_Operational (String,Date_Added,Real_Exfact,Article_ID,Excess_Top_Up,Plant)
select String,Date_Added,Real_Exfact,Article_ID,Excess_Top_Up,Plant
from SCM_Top_Up_Rolling
end
【问题讨论】:
标签: sql-server tsql sql-update sql-insert