1. 程式人生 > >【機房重構】—觸發器經營離婚事務所

【機房重構】—觸發器經營離婚事務所

    最近了解到了觸發器,現在我的理解是更喜歡把觸發器當成特殊的儲存過程(觸發器:通過對這個表的操作為依據處罰之後可以對另外的表進行一系列操作),那麼此刻我就將觸發器如何經營離婚事務所的過程和大家分享:

一、經營漏洞(觸發器的缺點):

    當一對夫婦有了閃離的念頭,衝動之餘就拿著結婚證來找觸發器(離婚事務所)了;此時觸發器是不會在乎你倆是否真的認定了要離婚(是否應不應該觸發這個事件),只要你將結婚證給了他並大概說一些理由,他就會給你們辦理離婚手續(執行符合條件之後要處罰的過程),大家都知道,離婚手續一旦辦理了,那麼倆人的婚姻也就不再收到法律的保護(觸發器一旦處罰了事件那麼就會對錶進行對應的操作),這將是很危險的(現實中的離婚事務所不是這樣的這裡僅供理解觸發器)。

    所以一定要再去離婚事務所的時候想清楚了(慎用觸發器);如果你沒有任何思考而是一時的衝動貿然去離婚事務所辦理了離婚手續,必然會後悔終身(對於觸發器的過分依賴,勢必影響資料庫的結構,同時增加了維護的複雜程度)。

二、經營好處(觸發器優點):

    當人們到離婚事務所辦理了離婚手續之後,再和別的人結婚之後再次的婚姻就會收到法律的保護(觸發器通過級聯引用完整性約束更好的執行更改);同時也是兩個人不在一起的見證,對於自己以後的規劃更加著重(觸發器可以評估資料修改前後的表狀態,並根據其差異采取對策)。

三、經營範例(觸發器示例):

    以下是我在機房重構充值這條線中寫的觸發器:有了它之後,我在編寫程式碼的時候,直接將ReCharge_Info表中插入(下面的業務功能:insert)一條資料,不用再去返回之後再執行更新卡表了,這裡直接就給我更新(下面的更新卡表:Update)了!

<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">-- =============================================
-- Author:        <馬康>
-- Create date: <2015-5-1>
-- Description:    <充值觸發器>
-- =============================================
create TRIGGER [dbo].[AddSum]  --建立一個名叫AddSum的觸發器
ON [dbo].[ReCharge_Info]       --觸發器的事件發生在Recharge_Info表上
for insert                   --業務功能是新增新資料
as
begin
declare @CardID char(10)       --聲明瞭兩個變數:CardID、AddCash
declare @AddCash int 
select @CardID=CardID,@AddCash=convert(int,AddCash) from inserted --將充值表中的CardID和AddCash強制轉換型別後賦值給@CardID和@AddCash
Update Card_Info set Cash =convert(int,Cash)
[email protected]
where @CardID=CardID --在卡表裡更新餘額 end</span></span>
四、經營收穫(運用觸發器的收穫):

    這裡需要注意的是更新卡表中的AddCash欄位的時候需要看清楚是什麼型別;觸發器在觸發前的表中建立,建立的時候用:Create,如果要是修改觸發器應該用:Alter。

    通過不斷的學習總結才能在以後的路上走的更加的堅實,加油!

    本文如有錯誤之處還望指正!