sql觸發(fā)器實例_第1頁
已閱讀1頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQL觸發(fā)器實例觸發(fā)器實例1定義:何為觸發(fā)器?在SQLServer里面也就是對某一個表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。觸發(fā)器是一個特殊的存儲過程。常見的觸發(fā)器有三種:分別應用于Update事件。我為什么要使用觸發(fā)器?比如,這么兩個表:CreateTableStudent(學生表StudentIDintprimarykey學號....)CreateTableBrowRecd(學生借書記錄表BrowRecdintidenti

2、ty(11)流水號StudentIDint學號BrowDatedatetime借出時間ReturnDAteDatetime歸還時間...)用到的功能有:1.如果我更改了學生的學號我希望他的借書記錄仍然與這個學生相關(也就是同時更改借書記錄表的學號)2.如果該學生已經(jīng)畢業(yè),我希望刪除他的學號的同時,也刪除它的借書記錄。等等。這時候可以用到觸發(fā)器。對于1,創(chuàng)建一個Update觸發(fā)器:CreateTriggertruStudentOnStud

3、ent在Student表中創(chuàng)建觸發(fā)器fUpdate為什么事件觸發(fā)As事件觸發(fā)后所要做的事情ifUpdate(StudentID)beginUpdateBrowRecdSetStudentID=i.StudentIDFromBrowRecdbrddedid和ed臨時表Wherebr.StudentID=d.StudentIDend理解觸發(fā)器里面的兩個臨時的表:ded。注意d與ed分別表示觸發(fā)事件的表“舊的一條記錄”和“新的一條記錄”。一個

4、數(shù)據(jù)庫系統(tǒng)中有兩個虛擬表用于存儲在表中記錄改動的信息,分別是:銷售數(shù)量INTNULL銷售單價MONEYNULL銷售金額MONEYNULL)GO業(yè)務規(guī)則:庫存金額=庫存數(shù)量庫存單價業(yè)務規(guī)則。CREATETABLE卷煙庫存表(卷煙品牌VAR(40)PRIMARYKEYNOTNULL庫存數(shù)量INTNULL庫存單價MONEYNULL庫存金額MONEYNULL)GO創(chuàng)建觸發(fā)器,示例1創(chuàng)建觸發(fā)器[T__卷煙庫存表],這個觸發(fā)器較簡單。說明:每當[卷

5、煙庫存表]發(fā)生動作,則引發(fā)該觸發(fā)器。觸發(fā)器功能:強制執(zhí)行業(yè)務規(guī)則,保證插入的數(shù)據(jù)中,庫存金額=庫存數(shù)量庫存單價。注意:[ED]、[D]為系統(tǒng)表,不可創(chuàng)建、修改、刪除,但可以調用。重要:這兩個系統(tǒng)表的結構同插入數(shù)據(jù)的表的結構。IFEXISTS(NAMEFROMSYSOBJECTSWHEREXTYPE=’TR’NAME=’T__卷煙庫存表’)TRIGGERT__卷煙庫存表GOCREATETRIGGERT__卷煙庫存表ON卷煙庫存表FAS提交

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論