SQL在更新数据时,先判断数据是否存在。存在就更新update,不存在就插入insert。

需要更新的数据表如下:

更新是,根据type和xtype判断数据是需要被插入还是被更新。

先判断是否存在,存在就更新
IF EXISTS(SELECT 1 FROM sys_emp a,inserted b join hr_emp_title c on b.empid = c.empid)
BEGIN
update c
set c.title_code = b.title_code
from inserted b join hr_emp_title c on b.empid = c.empid
END
不存在就插入
ELSE
BEGIN
insert into hr_emp_title(empid,title_code) select empid ,title_code from inserted;
END
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-18
那你得分开写 update table_name set 。。。where type is not null and xtype is null;
insert into table_name values(。。。);insert语句不需要判断可以直接插入一条数据!

插入是插入一整条数据,更新是对某个或某几个字段进行更新。本回答被提问者和网友采纳
第2个回答  2018-06-08
直接先update再insert
第3个回答  2015-07-07
先查询,后插入