检查记录是否存在然后更新else insert

问题描述:

我必须检查表中是否存在记录,如果有记录,则更新else insert。检查记录是否存在然后更新else insert

Stg_table 
Id seq name company 
1 1  aaa  yyy 
1 2  aaa  bbb 


table 
Id seq name company 
1 1  aaa  yyy 
1 2  aaa  bbb 

现在我有另一行与序列3

Stg_table 
Id seq name company 
1 1  aaa  yyy 
1 2  aaa  bbb 
1 3  aaa  www 

我要检查,如果这存在于表分期,如果它不存在,只有插入。我不能使用合并,因为它是给我引发的问题,我尝试使用,如果存在(下面是我的代码)

If exists(select 1 from stg_table s 
join table t 
on s.id=t.id and t.seq=s.seq) 
begin 
update ----- 
end 
else 
begin 
insert ----- 
end 

如何过,这些记录会为更新,因为它是满足的条件。我如何在这种情况下插入?

table 
Id seq name company 
1 1  aaa  yyy 
1 2  aaa  bbb 

任何帮助表示赞赏

创建两个单独的语句。一个处理更新,另一个处理插入。

更新:

UPDATE t 
SET .... 
FROM table t 
INNER JOIN stg_table s 
    ON t.id = s.id 
    AND t.seq = s.seq 

插入:

INSERT INTO table (....) 
SELECT .. 
FROM stg_table s 
WHERE NOT EXISTS (
    SELECT ... 
    FROM table t 
    WHERE t.id = s.id 
    AND t.seq = s.seq 
)