最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MSSQL事务的存储过程

来源:懂视网 责编:小采 时间:2020-11-09 07:04:37
文档

MSSQL事务的存储过程

MSSQL事务的存储过程:在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType 房间表:Room 首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rTypeId 分析这两个
推荐度:
导读MSSQL事务的存储过程:在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType 房间表:Room 首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rTypeId 分析这两个

在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示:

房型表:RoomType

      
    
房间表:Room

 

首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rTypeId

分析这两个表,我们会发现这样一个问题:在房间表和房型表管理中,当我们修改或者删除一个RoomType表,对应的Room表我们也要做修改和删除,那么我们怎么解决这个问题呢?首先可以在数据库中设置级联删除,或者利用触发器也可以解决、、、这些方法都有一定的弊端,在实际开发中,我们会采取使用事务来解决这个问题,这种方法简单而且开发效率高,容易维护。

要求:在删除RoomType的同时把Room表中存在该房型的也删除.

思路:在删除RooType的时候,我们通过RoomType.rTypeId=Room.rTypeId找到Room中存在该房型的记录,把也它删掉。

说明:删除不是把整条记录从数据库删除,是将数据标识改为1,0是代表未删除。

下面介绍删除的存储过程:

代码:

 ALTER procedure [dbo].[usp_DelToomType] --创建删除房型的存储过程
 @rTypeId int --房型参数
 as
 begin transaction --开始事务
 declare @error int --定义一个变量标识错误号
 update RoomType set rTypeIsDel=1 where rTypeId=@rTypeId --根据条件删除房型,rTypeIsDel=1标识删除,0标识未删除
 set @error+=@@ERROR
 if(@error<>0) --不等于0说明这一句执行出现错误
 rollback transaction --事务回滚
 update Room set roomIsDel=1 where rTypeId=@rTypeId --根据条件删除房间
 set @error+=@@ERROR 
 if(@error<>0) --不等于0说明这一句执行出现错误
 rollback transaction --事务回滚
 else 
 commit transaction --提交事务

最后,数据层直接调用存储过程的方法即可完成删除房型的同时把存在该房型的房间也删除。

您可能感兴趣的文章:

  • MSSQL 事务说明
  • c#实现sqlserver事务处理示例
  • 使用Sqlserver事务发布实现数据同步(sql2008)
  • SQLServer分布式事务问题
  • Sqlserver 存储过程中结合事务的代码
  • Transactional replication(事务复制)详解之如何跳过一个事务
  • 声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    MSSQL事务的存储过程

    MSSQL事务的存储过程:在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType 房间表:Room 首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rTypeId 分析这两个
    推荐度:
    标签: sql 事务 mssql
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top