instead of insert 用法

兔子家族-二哥 成都安吉斯信息技术有限公司 软件工程师  2017-12-01 10:34:07
有触发器 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
...全文
278 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
exception92 2017-12-02
记得sql脚本也是可以调试的。死没死循环 你执行一下不就有结果了
  • 打赏
  • 举报
回复
吉普赛的歌 2017-12-01
你弄一个完整的demo出来, 有表结构,有数据 有存储过程,有触发器的 所有完整可运行可重现你这个的bug的脚本贴出来
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2017-12-01 10:34
社区公告
暂无公告