人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

MSSQL事務(wù)的存儲(chǔ)過(guò)程

發(fā)布日期:2021-12-27 11:08 | 文章來(lái)源:源碼中國(guó)

在酒店管理系統(tǒng)開發(fā)中,我們會(huì)創(chuàng)建房間表和房間類型表(房型表)這兩個(gè)表,如下圖所示:

房型表:RoomType



房間表:Room

首先這兩個(gè)表的關(guān)系:Room是從表,RoomType是主表,兩表有主外鍵關(guān)系,RoomType.rTypeId=Room.rTypeId

分析這兩個(gè)表,我們會(huì)發(fā)現(xiàn)這樣一個(gè)問(wèn)題:在房間表和房型表管理中,當(dāng)我們修改或者刪除一個(gè)RoomType表,對(duì)應(yīng)的Room表我們也要做修改和刪除,那么我們?cè)趺唇鉀Q這個(gè)問(wèn)題呢?首先可以在數(shù)據(jù)庫(kù)中設(shè)置級(jí)聯(lián)刪除,或者利用觸發(fā)器也可以解決、、、這些方法都有一定的弊端,在實(shí)際開發(fā)中,我們會(huì)采取使用事務(wù)來(lái)解決這個(gè)問(wèn)題,這種方法簡(jiǎn)單而且開發(fā)效率高,容易維護(hù)。

要求:在刪除RoomType的同時(shí)把Room表中存在該房型的也刪除.

思路:在刪除RooType的時(shí)候,我們通過(guò)RoomType.rTypeId=Room.rTypeId找到Room中存在該房型的記錄,把也它刪掉。

說(shuō)明:刪除不是把整條記錄從數(shù)據(jù)庫(kù)刪除,是將數(shù)據(jù)標(biāo)識(shí)改為1,0是代表未刪除。

下面介紹刪除的存儲(chǔ)過(guò)程:

代碼:

 ALTER procedure [dbo].[usp_DelToomType] --創(chuàng)建刪除房型的存儲(chǔ)過(guò)程
 @rTypeId int --房型參數(shù)
 as
 begin transaction --開始事務(wù)
  declare @error int --定義一個(gè)變量標(biāo)識(shí)錯(cuò)誤號(hào)
  update RoomType set rTypeIsDel=1 where rTypeId=@rTypeId --根據(jù)條件刪除房型,rTypeIsDel=1標(biāo)識(shí)刪除,0標(biāo)識(shí)未刪除
  set @error+=@@ERROR
  if(@error<>0) --不等于0說(shuō)明這一句執(zhí)行出現(xiàn)錯(cuò)誤
  rollback transaction --事務(wù)回滾
  update Room set roomIsDel=1 where rTypeId=@rTypeId --根據(jù)條件刪除房間
  set @error+=@@ERROR 
  if(@error<>0) --不等于0說(shuō)明這一句執(zhí)行出現(xiàn)錯(cuò)誤
  rollback transaction --事務(wù)回滾
 else 
   commit transaction --提交事務(wù)

最后,數(shù)據(jù)層直接調(diào)用存儲(chǔ)過(guò)程的方法即可完成刪除房型的同時(shí)把存在該房型的房間也刪除。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部