触发器,新数据插入前如何删除已存在的相同记录
SQL2000,在插入新的数据前,检查表中是否已有相同记录,如果有则把已存在的记录删除,然后插入新的记录;如果没有,则直接插入。我用的是SQL2000,能不能用inste...
SQL2000,在插入新的数据前,检查表中是否已有相同记录,如果有则把已存在的记录删除,然后插入新的记录;如果没有,则直接插入。
我用的是SQL2000,能不能用instead of 触发器的啊?表名是T_SteelSample_LG,其中有字段Analyze_code,
Analyze_datetime两个重要字段,没有Id字段,只要表中Analyze_code,Analyze_datetime两字段和要插入的Analyze_code,Analyze_datetime相同(其它字段可不相同),那么就要把这条记录删掉,然后再插入。还有一点就是Analyze_code,Analyze_datetime两个字段,不要设为主键。 展开
我用的是SQL2000,能不能用instead of 触发器的啊?表名是T_SteelSample_LG,其中有字段Analyze_code,
Analyze_datetime两个重要字段,没有Id字段,只要表中Analyze_code,Analyze_datetime两字段和要插入的Analyze_code,Analyze_datetime相同(其它字段可不相同),那么就要把这条记录删掉,然后再插入。还有一点就是Analyze_code,Analyze_datetime两个字段,不要设为主键。 展开
1个回答
展开全部
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
加上触发器的目的就是在插入前先把同样的记录删掉
以上,希望对你有所帮助
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
加上触发器的目的就是在插入前先把同样的记录删掉
以上,希望对你有所帮助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询