触发器,新数据插入前如何删除已存在的相同记录

来源:百度知道 编辑:UC知道 时间:2024/09/20 22:27:54
SQL2000,在插入新的数据前,检查表中是否已有相同记录,如果有则把已存在的记录删除,然后插入新的记录;如果没有,则直接插入。
我用的是SQL2000,能不能用instead of 触发器的啊?表名是T_SteelSample_LG,其中有字段Analyze_code,
Analyze_datetime两个重要字段,没有Id字段,只要表中Analyze_code,Analyze_datetime两字段和要插入的Analyze_code,Analyze_datetime相同(其它字段可不相同),那么就要把这条记录删掉,然后再插入。还有一点就是Analyze_code,Analyze_datetime两个字段,不要设为主键。

create trigger tr_T_SteelSample_LG
on T_SteelSample_LG instead of insert
as
begin
declare @Analyze_code varchar(100),@Analyze_datetime datetime
select @Analyze_code=Analyze_code,@Analyze_datetime=Analyze_datetime from inserted
if exists (select * from T_SteelSample_LG where Analyze_code=@Analyze_code and Analyze_datetime=@Analyze_datetime)
delete from T_SteelSample_LG where Analyze_code=@Analyze_code and Analyze_datetime=@Analyze_datetime
end

加上触发器的目的就是在插入前先把同样的记录删掉

以上,希望对你有所帮助