instead of insert 用法
有触发器 instead of insert:
我要做一个判断 如果将要插入的数据已经存在数据库,则让number加1,不进行插入,并调用存储过程
否则进行插入,调用存储过程
有如下代码,是不是死循环了?要如何做?
set @count = (select count(*) from Eventinfos where cAlarmtype=@cAlarmtype
if @count > 0
begin
update Eventinfos set AlarmNum= @AlarmNum +1,dRecentAlarmtime=GETDATE(),dReceivetime=@dReceivetime where a=@eventid
exec FirePush @eventid
end
else
begin
set @AlarmNum=1
set @dRecentAlarmtime=GETDATE()
set @eventid=NEWID()
insert into Eventinfos values(@eventid,@cAlarmtype,@Gatewayaddress,@sysaddress,@systypeID,@deviceaddress,@idevicetype,@faultdesc,@dFirstAlarmtime,@StateValue,@dRecentAlarmtime,@dReceivetime,@AlarmNum,@vAlarmsource)
exec FirePush @eventid
end