婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MSSQL事務的存儲過程

MSSQL事務的存儲過程

熱門標簽:怎樣把地圖標注導入公司地址 洛陽外呼系統平臺 廣州人工電銷機器人費用 如何在地圖標注自己店鋪 寧波人工外呼系統有效果嗎 真人語音電銷機器人 地圖標注一個圓圈怎么用 電銷機器人被曝光 400外呼系統合法

在酒店管理系統開發中,我們會創建房間表和房間類型表(房型表)這兩個表,如下圖所示:

房型表: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(事務復制)詳解之如何跳過一個事務

標簽:晉中 石家莊 東營 咸寧 北海 珠海 煙臺 南昌

巨人網絡通訊聲明:本文標題《MSSQL事務的存儲過程》,本文關鍵詞  MSSQL,事務,的,存儲,過程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MSSQL事務的存儲過程》相關的同類信息!
  • 本頁收集關于MSSQL事務的存儲過程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 射洪县| 中江县| 景谷| 运城市| 商河县| 工布江达县| 抚松县| 松原市| 双柏县| 齐齐哈尔市| 长沙县| 普格县| 台江县| 达日县| 攀枝花市| 台江县| 买车| 德安县| 九江县| 鹤壁市| 马山县| 安庆市| 余姚市| 米泉市| 临澧县| 宁安市| 临颍县| 井冈山市| 望谟县| 湘西| 邓州市| 新安县| 郑州市| 布拖县| 调兵山市| 托克逊县| 锡林郭勒盟| 连平县| 台北市| 西宁市| 建昌县|