会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
还是农业社会好啊!
俺确实有些审美疲劳,特别是对code!
博客园
首页
新随笔
新文章
联系
管理
订阅
.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
posted on
2004-06-25 10:31
奚彧
阅读(
769
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
公告