.net对触发器返回错误得处理

以前很少用触发器,因为触发器在数据库中虽然好用,但是一旦出现逻辑问题可能产生更大得危险,昨天在使用触发器过程中发现,触发器得返回错误,.net并不一定能全部认识,有时候就没什么反映,如下触发器,回滚事务后,.net并没有什么反映。 CREATE TRIGGER [Insert_ NAME] ON dbo.Plan_Ship FOR INSERT AS DeClare @Plan_NO int, @AttemperNO int, @num1 int, @num2 int set @Plan_NO = (Select Plan_NO from inserted) set @attemperNO = (Select attemperNo from inserted) set @num1= (Select sum(FullTicket+HalfTicket+Guide) num from Plan_Predict where Plan_No = @Plan_No )------求出所有该团队人数 set @num2 = (select seat from ship_attemper where attemperNO = @attemperNO) if exists (select * from PlanSumSeat where attemperNO = @attemperNO) begin if @num1<(select sumSeat from PlanSumSeat where attemperNO = @attemperNO) begin update PlanSumSeat set sumSeat=(SumSeat-@num1) where attemperNO = @attemperNO update plan_predict set Ifshiped=1 where Plan_no = @PlanNO --设定该团已经配船 end else begin Raiserror('不成插入一个大于船舶数量得团队',10,3) RollBack ----回滚整个事务 end end else if @num1 < @num2 begin insert into PlanSumSeat (attemperNO,sumSeat) values(@attemperNO,(@num2-@num1)) update plan_predict set Ifshiped=1 where Plan_no = @PlanNO --设定该团已经配船 end else begin Raiserror('不成插入一个大于船舶数量得团队',10,3) Rollback ------如果大于船座位就回滚整个事务 end

转载于:https://www.cnblogs.com/playboy2005/archive/2004/06/25/18528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值