數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件

上傳人:仙*** 文檔編號:253317417 上傳時間:2024-12-11 格式:PPT 頁數(shù):36 大?。?.32MB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件_第1頁
第1頁 / 共36頁
數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件_第2頁
第2頁 / 共36頁
數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫原理及應(yīng)用項目9觸發(fā)器的創(chuàng)建和使用課件(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,數(shù)據(jù)庫原理與應(yīng)用,講授人,CONTENTS,項目,1,數(shù)據(jù)庫設(shè)計,項目,2,搭建,SQL Server 2008,數(shù)據(jù)庫管理系統(tǒng)環(huán)境,項目,3,創(chuàng)建和管理數(shù)據(jù)庫,項目,4,創(chuàng)建和管理數(shù)據(jù)表,項目,5,表中數(shù)據(jù)操作,項目,6,進行,T-SQL,程序設(shè)計,項目,8,存儲過程的創(chuàng)建和使用,項目,7,事務(wù)、索引和視圖的創(chuàng)建,與應(yīng)用,項目,9,觸發(fā)器的創(chuàng)建和使用,項目,10 SQL Server,的安全性管理,項目,11,數(shù)據(jù)庫的備份和恢復(fù),項目,12 SQL Server,數(shù)據(jù)轉(zhuǎn)換,項目,13 SQL Server,代理服務(wù)任務(wù),項目,9,觸發(fā)器的創(chuàng)建和使用,任務(wù),9.1-9.3,項目目標,項目導(dǎo)讀

2、,項目實訓(xùn),知識鞏固,能力目標,02,知識目標,01,項目目標,了解為什么需要觸發(fā)器。,理解觸發(fā)器的工作原理。,掌握如何使用,insert,表和,deleted,表。,掌握如何創(chuàng)建,INSERT,觸發(fā)器、,UPDATE,觸發(fā),器、,DELETE,觸發(fā)器。,會通過觸發(fā)器的使用管理網(wǎng)絡(luò)論壇數(shù)據(jù)庫,相關(guān)數(shù)據(jù)。,能夠通過觸發(fā)器實現(xiàn)網(wǎng)絡(luò)論壇數(shù)據(jù)庫相關(guān),數(shù)據(jù)表的復(fù)雜約束。,CONTENTS,任務(wù),9.1,知識準備,任務(wù),9.3,知識和技能擴展,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,9.1.1,觸發(fā)器的功能,任務(wù),9.1,知識準備,1.,強化約束,觸發(fā)器能夠?qū)崿F(xiàn)比,CHECK,語句更為復(fù)雜的約束。,約束

3、和觸發(fā)器在特殊情況下各有優(yōu)勢,觸發(fā)器的主要好處在于它們可以包含使用,T-SQL,代碼的復(fù)雜處理邏輯。,在約束所支持的功能無法滿足應(yīng)用程序的功能要求時,觸發(fā)器就極為有用。,9.1.1,觸發(fā)器的功能,任務(wù),9.1,知識準備,3.,級聯(lián)運行,觸發(fā)器可以偵測數(shù)據(jù)庫內(nèi)的操作,并自動地級聯(lián)影響整個數(shù)據(jù)庫的各項內(nèi)容。觸發(fā)器可通過數(shù)據(jù)庫的相關(guān)表實現(xiàn)級聯(lián)更改;不過,通過級聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。,9.1.2,觸發(fā)器的分類,當服務(wù)器和數(shù)據(jù)庫中發(fā)生數(shù)據(jù)定義語言(,DDL,)事件時將調(diào)用,DDL,觸發(fā)器。,DDL,觸發(fā)器是,SQL Server 2008,的新增功能,一般用于在數(shù)據(jù)庫中執(zhí)行管理任務(wù)。

4、,任務(wù),9.1,知識準備,1.DDL,觸發(fā)器,9.1.2,觸發(fā)器的分類,(,1,),AFTER,觸發(fā)器,在執(zhí)行了,INSERT,、,UPDATE,或,DELETE,語句操作之后執(zhí)行,AFTER,觸發(fā)器。,任務(wù),9.1,知識準備,3.DML,觸發(fā)器的類型,(,2,),INSTEAD OF,觸發(fā)器,INSTEAD OF,觸發(fā)器在,UPDATE,、,INSERT,或,DELETE,語句執(zhí)行時替代執(zhí)行。,(,3,),CLR,觸發(fā)器,CLR,觸發(fā)器可以是,AFTER,觸發(fā)器或,INSTEAD OF,觸發(fā)器,還可以是,DDL,觸發(fā)器。,CLR,觸發(fā)器將執(zhí)行在托管代碼(在,.NET Framework,中創(chuàng)

5、建并在,SQL Server,中上載的程序集的成員)中編寫的方法,而不用執(zhí)行,T-SQL,存儲過程。,9.1.3,觸發(fā)器的工作原理,任務(wù),9.1,知識準備,每個觸發(fā)器有兩個特殊的表:插入表(,inserted,表)和刪除表(,deleted,表)。,deleted,表,用于存儲,DELETED,和,UPDATE,語句所影響的行的副本,即在,deleted,表中臨時保存了被刪除或更新前的記錄行。在執(zhí)行,DELETE,或,UPDATE,語句時,行從觸發(fā)器表中刪除,并傳輸?shù)?deleted,表中。,inserted,表,用于存儲,INSERT,和,UPDATE,語句所影響的行的副本,即在,inser

6、ted,表中臨時保存了被插入或被更新后的記錄行。在執(zhí)行,INSERT,或,UPDATE,語句時,新加行被同時添加到,inserted,表和觸發(fā)器表中。,觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。,9.2.1,任務(wù)描述及分析,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,網(wǎng)絡(luò)論壇發(fā)跟帖,需要完成的業(yè)務(wù)有:,1.,跟帖數(shù)據(jù)表增加一條記錄數(shù)據(jù)。,2.,用戶表中要增加發(fā)帖用戶的積分,即要修改用戶表的積分字段值。,3.,用戶積分提高,用戶級別也可能要發(fā)生變化,即要修改用戶表的級別字段值。,4.,主帖的單擊次數(shù)、跟帖數(shù)要增加,最后回帖時間要改變,即要修改主帖表的跟帖數(shù)、最后回帖時間、

7、單擊次數(shù)字段值。,如果有第一步事件發(fā)生,如何自動實現(xiàn)后三個步驟呢?使用觸發(fā)器是最好的選擇,觸發(fā)器可以實現(xiàn)表之間的復(fù)雜業(yè)務(wù)規(guī)則。,9.2.3,使用,T-SQL,語句創(chuàng)建觸發(fā)器,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,創(chuàng)建觸發(fā)器的,T-SQL,語法如下:,9.2.3,使用,T-SQL,語句創(chuàng)建觸發(fā)器,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,【,示例,9-1】,對于解決論壇發(fā)跟帖問題,當跟帖表(,Reply,)中插入跟帖信息時,應(yīng)自動更新對應(yīng)用戶表(,Users,)和主帖表(,Topic,)數(shù)據(jù)。,1.,創(chuàng)建,INSERT,觸發(fā)器,創(chuàng)建觸發(fā)器代碼如下:,9.2.3,使用,T-SQL,語句創(chuàng)建觸發(fā)

8、器,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,【,示例,9-2】,當刪除交易信息表時,自動備份被刪除的數(shù)據(jù)到表,backupTable,中。,2.,創(chuàng)建,DELETE,觸發(fā)器,9.2.3,使用,T-SQL,語句創(chuàng)建觸發(fā)器,任務(wù),9.2,“網(wǎng)絡(luò)論壇”數(shù)據(jù)庫數(shù)據(jù)管理,【,示例,9-3】,跟蹤用戶的交易,交易金額超過,20000,元,則取消交易,并給出錯誤提示。,3.,創(chuàng)建,UPDATE,觸發(fā)器,(,1,)啟動,SQL Server Management Studio,,連接到數(shù)據(jù)庫實例,在“對象資源管理器”窗口里,選擇“數(shù)據(jù)庫實例”“數(shù)據(jù)庫”“,Studentmanager”“,表”“,dbo.s

9、tudents”“,觸發(fā)器”“,myTrigger”,,單擊右鍵,從快捷菜單中選中“修改”選項,如圖,9.6,所示。,任務(wù),9.3,知識與技能擴展,通過,SQL Server Management Studio,查看觸發(fā)器的步驟如下。,9.3.1,查看和修改,DML,觸發(fā)器,1.,通過,SQL Server Management Studio,查看觸發(fā)器,圖,9.6“,對象資源管理器”窗口“修改”選項,(,2,)打開“觸發(fā)器,myTrigger”,代碼編輯框,如圖,9.7,所示,在這里可以查看觸發(fā)器,也可以修改觸發(fā)器。如果要修改觸發(fā)器,直接修改代碼,然后單擊工具欄的“執(zhí)行”按鈕即可。,圖,9.

10、7,觸發(fā)器,myTrigger,的代碼編輯框,任務(wù),9.3,知識與技能擴展,通過存儲過程,sp_help,可以查看觸發(fā)器的相關(guān)信息,如名稱、類型、創(chuàng)建時間等,其語法格式如下:,9.3.1,查看和修改,DML,觸發(fā)器,3.,通過存儲過程,sp_help,查看觸發(fā)器,圖,9.9,存儲過程,sp_help,的運行結(jié)果,【,示例,9-5】,運行結(jié)果如圖,9.9,所示。,任務(wù),9.3,知識與技能擴展,通過,SQL Server Management Studio,禁用或啟用觸發(fā)器,其步驟與通過,SSMS,修改觸發(fā)器類似,只是在彈出的快捷菜單中選擇“禁用”選項,如啟用,則選擇“啟用”選項,如圖,9.10,

11、所示。,9.3.2,禁用和啟用觸發(fā)器,1.,通過,SQL Server Management Studio,禁用或啟用觸發(fā)器,圖,9.10“,對象資源管理器”窗口“禁用”和“啟用”選項,任務(wù),9.3,知識與技能擴展,通過,ALTER TABLE,語句可以禁用或啟用觸發(fā)器,其語法代碼如下。,9.3.2,禁用和啟用觸發(fā)器,2.,通過,T-SQL,禁用或啟用觸發(fā)器,項目實訓(xùn),實訓(xùn),1,為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建添加圖書觸發(fā)器,分析,(,1,)圖書表添加記錄時,響應(yīng)觸發(fā)器告知用戶添加成功,并進行查看。,(,2,)應(yīng)該在圖書表上創(chuàng)建,INSERT,觸發(fā)器。,實現(xiàn)思路與關(guān)鍵步驟,(,1,)啟動,SQL Serv

12、er Management Studio,,在“對象資源管理器”中依次展開“數(shù)據(jù)庫”、“,BookSaleDB”,數(shù)據(jù)庫、“表”節(jié)點。,(,2,)展開“,Books”,表,右擊“觸發(fā)器”,選擇“新建觸發(fā)器”。,(,3,)在右邊彈出的查詢窗口顯示“觸發(fā)器”的模板,輸入觸發(fā)器文本如下:,(,4,)執(zhí)行語句,提示成功信息,則,INSERT,觸發(fā)器創(chuàng)建成功。,(,5,)使用,INSERT,語句向,Books,表添加一條記錄,驗證觸發(fā)器功能。,項目實訓(xùn),實訓(xùn),2,為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建修改圖書記錄的觸發(fā)器,分析,(1),隨著時間變化,一些熱銷圖書要進行降價處理,以便打開銷路。,(2),降價促銷圖書,即打折

13、扣要更新圖書折扣字段值,為了了解折扣修改信息,在,Books,表上,UPDATE,觸發(fā)器。,(3)UPDATE,觸發(fā)器響應(yīng)過程,存在兩個臨時表,即,INSERTED,和,DELETED,,所以我們可以比較修改圖書折扣前后的數(shù)據(jù)變化。,項目實訓(xùn),實訓(xùn),3,為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建刪除圖書觸發(fā)器,分析,(1),隨著時間推移,大量圖書已經(jīng)不再銷售,這些圖書信息造成了圖書表數(shù)據(jù)的冗余。,(2),圖書表中無用數(shù)據(jù)記錄要被刪除,作為歷史銷售圖書資料。為了后期查詢需要,刪除的記錄還想自動保存到備份數(shù)據(jù)表。,(3),為圖書表創(chuàng)建,DELETE,觸發(fā)器,實現(xiàn)刪除圖書記錄自動保存?zhèn)浞荨?項目實訓(xùn),實訓(xùn),3,為網(wǎng)上書店

14、數(shù)據(jù)庫創(chuàng)建刪除圖書觸發(fā)器,實現(xiàn)思路與關(guān)鍵步驟,為,Books,表創(chuàng)建一個刪除記錄后顯示提示信息的觸發(fā)器,BooksDeleteTrig,。,(,1,)查詢編輯器中輸入以下文本:,(,2,)執(zhí)行以上代碼。,(,3,)驗證觸發(fā)器,刪除圖書表記錄后提示“記錄已經(jīng)被備份,刪除成功!”,查看備份數(shù)據(jù)表,刪除的圖書表記錄已經(jīng)添加到,BooksBackup,表。,知識鞏固,一、選擇題,1.CREATE TRIGGER,語句中的,WITH ENCRYPTION,參數(shù)的作用是()。,A.,加密觸發(fā)器文本,B.,加密定義觸發(fā)器的數(shù)據(jù)庫,C.,加密定義觸發(fā)器的數(shù)據(jù)庫的數(shù)據(jù),D.,以上都不對,2.,下列有關(guān)觸發(fā)器的說

15、法,錯誤的是()。,A.,觸發(fā)器是一種特殊的存儲過程,它可以包含,IF,、,WHILE,、,CASE,等復(fù)雜的,T-SQL,語句,B.,使用觸發(fā)器需要兩步:先創(chuàng)建觸發(fā)器,然后調(diào)用觸發(fā)器,C.,如果檢測到修改的數(shù)據(jù)不滿足業(yè)務(wù)規(guī)則,觸發(fā)器可以回滾撤銷操作,D.,使用觸發(fā)器可以創(chuàng)建比,CHECK,約束更復(fù)雜的高級約束,3.,當執(zhí)行,UPDATE,語句時,系統(tǒng)將自動創(chuàng)建()邏輯表。(選兩項),A.temp B.deleted C.hold D.inserted,4UPDATE,觸發(fā)器能夠?qū)ο铝校ǎ┬薷倪M行檢查。(選兩項),A.,修改數(shù)據(jù)庫名稱,B.,修改表中的某行數(shù)據(jù),C.,修改表中的某列數(shù)據(jù),D.,

16、修改表的結(jié)構(gòu),知識鞏固,一、選擇題,5.,下列語句在,bank,表上創(chuàng)建了一個,trig_bank,觸發(fā)器,以下說法正確的是()。(選兩項),CREATE TRIGGER tirg_bank,ON bank,FOR UPDATE,INSERT,AS,IF(SELECT MAX(currentMoney)FROM Inserted)100000,BEGIN,END,A.,當查詢,currentMoney,列的數(shù)據(jù)時,B.,當插入一行數(shù)據(jù)時,C.,當,bank,表中的任一列被更新時,D.,當插入多行數(shù)據(jù)時觸發(fā)器會出現(xiàn)錯誤,知識鞏固,二、操作練習(xí),1.,在通訊錄管理系統(tǒng)數(shù)據(jù)庫的信息表上創(chuàng)建觸發(fā)器,每添加一條記錄,提示有信息發(fā)出。,2.,在圖書管理管理數(shù)據(jù)庫中,創(chuàng)建一個觸發(fā)器,實現(xiàn)在讀者信息表中刪除某一讀者信息,系統(tǒng)將自動刪除該讀者所有借書和還書信息。,Thank You,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲