版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
單元七創(chuàng)建及應(yīng)用觸發(fā)器
觸發(fā)器是SQLServer數(shù)據(jù)庫應(yīng)用中一個重要工具,是一種自動執(zhí)行的特殊類型的存儲過程,應(yīng)用非常廣泛,尤其是在數(shù)據(jù)的安全管理及保持?jǐn)?shù)據(jù)的完整性方面。教學(xué)要求:通過本單元學(xué)習(xí),讀者應(yīng)掌握以下內(nèi)容: 觸發(fā)器的作用 觸發(fā)器的創(chuàng)建、修改和刪除 觸發(fā)器的靈活運用單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)1:認(rèn)知觸發(fā)器任務(wù)2:創(chuàng)建和應(yīng)用DML觸發(fā)器任務(wù)3:觸發(fā)器的管理與維護任務(wù)4:DDL觸發(fā)器及其應(yīng)用小結(jié)任務(wù)1認(rèn)知觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器
一、基本概念
觸發(fā)器是這樣一種機制:當(dāng)一個特定的動作發(fā)生在一個特定的數(shù)據(jù)庫或表上時,某個觸發(fā)器被激活。觸發(fā)器屬于一種特殊的存儲過程,可以在其中包含復(fù)雜的SQL語句。觸發(fā)器與存儲過程的區(qū)別在于觸發(fā)器不允許使用參數(shù),也不能被直接調(diào)用,只能由系統(tǒng)自動激活。當(dāng)數(shù)據(jù)庫或表上發(fā)生了CREATE、ALTER、DROP、INSERT、UPDATE或DELETE操作時,如果該數(shù)據(jù)庫或表有對應(yīng)的觸發(fā)器,這個觸發(fā)器就會自動激活執(zhí)行。單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)1認(rèn)知觸發(fā)器二、觸發(fā)器的功能:⑴完成更復(fù)雜的數(shù)據(jù)約束;⑵檢查SQL所做的操作是否允許;⑶修改其他數(shù)據(jù)表里的數(shù)據(jù);⑷調(diào)用更多的存儲過程;⑸返回自定義的錯誤信息;⑹更改原本要操作的SQL語句;⑺防止數(shù)據(jù)表結(jié)構(gòu)更改或數(shù)據(jù)表被刪除。單元七創(chuàng)建及應(yīng)用觸發(fā)器在SQLServer2005中,根據(jù)激活觸發(fā)器執(zhí)行的T-SQL語句類型,可以把觸發(fā)器分為兩類:1.DML觸發(fā)器DML觸發(fā)器是當(dāng)數(shù)據(jù)庫服務(wù)器中發(fā)生數(shù)據(jù)操縱語言DML事件時執(zhí)行的特殊存儲過程,如INSERT、UPDATE等。DML觸發(fā)器又可以進一步劃分為三種類別:INSERT觸發(fā)器、DELETE觸發(fā)器、UPDATE觸發(fā)器。這三種觸發(fā)器分別在發(fā)生數(shù)據(jù)的添加、刪除、修改行為時自動執(zhí)行。2.DDL觸發(fā)器DDL觸發(fā)器是當(dāng)數(shù)據(jù)庫服務(wù)器中發(fā)生數(shù)據(jù)定義語言DDL事件時執(zhí)行的特殊存儲過程,如CREATE、ALTER等。DDL觸發(fā)器一般用于執(zhí)行數(shù)據(jù)庫中的管理任務(wù),如審核和規(guī)范數(shù)據(jù)庫操作,防止數(shù)據(jù)庫表結(jié)構(gòu)被修改等。三、觸發(fā)器的類型任務(wù)1認(rèn)知觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器一、DML觸發(fā)器的類型
在SQLServer2005中,根據(jù)觸發(fā)器觸發(fā)的時機可以把DML觸發(fā)器劃分為兩種類型。
1.AFTER觸發(fā)器這類觸發(fā)器是在記錄已經(jīng)改變之后,才會被激活執(zhí)行,它主要是用于記錄變更后的處理或檢查,一旦發(fā)現(xiàn)錯誤,也可以用ROLLBACKTRANSACTION語句來回滾本次的操作。
2.INSTEADOF觸發(fā)器這類觸發(fā)器一般是用來取代原本要進行的操作,在記錄變更之前發(fā)生的,它并不去執(zhí)行原來的SQL語句里的操作,而是去執(zhí)行觸發(fā)器本身所定義的操作。單元七創(chuàng)建及應(yīng)用觸發(fā)器二、DML觸發(fā)器的工作原理
在SQLServer2005中,為每個DML觸發(fā)器定義了兩個特殊的表,一個是Inserted表,一個是Deleted表。這兩個表建立在數(shù)據(jù)庫服務(wù)器的內(nèi)存中,是由系統(tǒng)管理的邏輯表,而不是真正存儲在數(shù)據(jù)庫中的物理表。對于這兩個表,用戶只有讀取的權(quán)限,沒有修改的權(quán)限。
這兩個表的結(jié)構(gòu)與觸發(fā)器所在數(shù)據(jù)表的結(jié)構(gòu)是完全一致的。當(dāng)觸發(fā)器的工作完成之后,這兩個表也將從內(nèi)存中刪除?!馡nserted表里存放的是更新前的記錄:對于插入記錄操作來說,Inserted表里存儲的是要插入的數(shù)據(jù);對于更新記錄的操作來說,Inserted表里存放的是要更新的記錄。
●Deleted表里存放的是更新后的記錄:對于更新記錄操作來說,Deleted表里存放的是更新前的記錄;對于刪除記錄操作來說,Deleted表里存儲的是被刪除的舊記錄。任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器1.AFTER觸發(fā)器的工作機制AFTER觸發(fā)器是在數(shù)據(jù)記錄變更之后才被激活執(zhí)行的。以刪除數(shù)據(jù)記錄為例,當(dāng)SQLServer2005數(shù)據(jù)庫服務(wù)器接收到一個要執(zhí)行刪除操作的SQL語句時,SQLServer首先將要刪除的數(shù)據(jù)記錄存放在Deleted表里,然后把數(shù)據(jù)表里的數(shù)據(jù)記錄刪除,再激活觸發(fā)器,執(zhí)行AFTER觸發(fā)器里的SQL語句;執(zhí)行完畢后,刪除內(nèi)存中的Deleted表,退出操作。2.INSTEADOF觸發(fā)器的工作機制INSTEADOF觸發(fā)器是在相應(yīng)的操作之前就激活執(zhí)行,并且不再去執(zhí)行原來的SQL語句,而去運行INSTEADOF觸發(fā)器本身所定義的SQL語句。創(chuàng)建觸發(fā)器語法如下:CREATETRIGGER觸發(fā)器名ON{表|視圖}[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}[NOTFORREPLICATION]AS[{IFUPDATE(列名)[{AND|OR}UPDATE(列名)][…n]}]SQL語句單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器●WITHENCRYPTION。加密CREATETRIGGER語句文本的條目?!馞OR|AFTER。FOR與AFTER同義,指定觸發(fā)器只有在觸發(fā)器SQL語句中指定的所有操作都已成功后才激發(fā)。所有的引用級聯(lián)操作和約束檢查也必須成功完成后,才能執(zhí)行此觸發(fā)器,即為后觸發(fā)?!馡NSTEADOF。指定執(zhí)行觸發(fā)器而不執(zhí)行造成觸發(fā)的SQL語句,從而替代造成觸發(fā)的語句。在表或視圖上,每個INSERT、UPDATE或DELETE語句只能定義一個INSTEADOF觸發(fā)器,即替代觸發(fā)?!馵INSERT][,][UPDATE][,][DELETE]。是指定在表上執(zhí)行哪些數(shù)據(jù)修改語句時將激活觸發(fā)器的關(guān)鍵字。必須至少指定一個選項。在觸發(fā)器定義中允許使用任意順序組合的這些關(guān)鍵字。當(dāng)進行觸發(fā)條件的操作時(INSERT、UPDATE或DELETE),將執(zhí)行SQL語句中指定的觸發(fā)器操作。單元七創(chuàng)建及應(yīng)用觸發(fā)器●NOTFORREPLICATION。表示當(dāng)復(fù)制進程更改觸發(fā)器所涉及的表時,不要執(zhí)行該觸發(fā)器?!馡FUPDATE(列名)。測試在指定的列上進行的INSERT或UPDATE操作,不能用于DELETE操作,可以指定多列。因為已經(jīng)在ON子句中指定了表名,所以在IFUPDATE子句中的列名前不要包含表名。若要測試在多個列上進行的INSERT或UPDATE操作,要分別單獨地指定UPDATE(列名)子句。在INSERT操作中IFUPDATE將返回TRUE值。任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器提示:創(chuàng)建觸發(fā)器時使用FOR或AFTER關(guān)鍵字,創(chuàng)建的是后觸發(fā),即當(dāng)引起觸發(fā)器執(zhí)行的修改語句完成后,并通過了各種約束檢查后,才執(zhí)行觸發(fā)器中的語句。后觸發(fā)只建立在表上,不能建立在視圖上。創(chuàng)建觸發(fā)器時使用INSTEADOF關(guān)鍵字,創(chuàng)建的是替代觸發(fā)。這里需要指出的是,由于TRUNCATETABLE語句的操作不被記錄到事務(wù)日志,所以它不會激活DELETE觸發(fā)器。單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器三、創(chuàng)建DML觸發(fā)器的注意事項(1)CREATETRIGGER語句必須是批處理中的第一個語句,該語句后面的所有語句都被解釋為CREATETRIGGER語句定義的一部分。(2)創(chuàng)建DML觸發(fā)器的權(quán)限默認(rèn)分配給表的所有者,且不能將該權(quán)限轉(zhuǎn)授給其他用戶。(3)DML可以引用當(dāng)前數(shù)據(jù)庫以外的對象,但只能在當(dāng)前數(shù)據(jù)庫中創(chuàng)建DML觸發(fā)器。(4)不能對系統(tǒng)表或臨時表創(chuàng)建DML觸發(fā)器(5)對于含有DELETE或UPDATE操作定義的外鍵表,不能定義INSTEADOF觸發(fā)器。單元七創(chuàng)建及應(yīng)用觸發(fā)器四、創(chuàng)建觸發(fā)器1.創(chuàng)建INSERT觸發(fā)器【例7.1】在數(shù)據(jù)庫XSGL中創(chuàng)建一觸發(fā)器,當(dāng)向CJ表插入一記錄時,檢查該記錄的學(xué)號在xs表中是否存在,檢查課程號在kc表中是否存在,若有一項為否,則不允許插入。CREATETRIGGERcheck_trigONCJFORINSERTASIFEXISTS(SELECT*FROMINSERTEDaWHEREa.學(xué)號NOTIN(SELECTb.學(xué)號FROMxsb)ORa.課程號NOTIN(SELECTc.課程號FROMkcc))BEGINRAISERROR('違背數(shù)據(jù)的一致性',16,1)ROLLBACKTRANSACTIONENDGO任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器2.創(chuàng)建UPDATE觸發(fā)器【例7.2】在XSGL數(shù)據(jù)庫的CJ表上創(chuàng)建一觸發(fā)器,若對學(xué)號列和課程號列修改,則給出提示信息,并取消修改操作。CREATETRIGGERupdate_trigONCJFORupdateASIFUPDATE(學(xué)號)ORUPDATE(課程號)BEGINRAISERROR('學(xué)號或課程號不能進行修改!',7,2)ROLLBACKTRANSACTIONENDGO任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器3.創(chuàng)建DELETE觸發(fā)器【例7.3】當(dāng)從xs表中刪除一個學(xué)生的記錄時,相應(yīng)的應(yīng)從CJ表中刪除該學(xué)生對應(yīng)的所有記錄。CREATETRIGGERdelete_trigONxsAFTERDELETEASDELETEFROMCJWHERE學(xué)號=(SELECT學(xué)號FROMDELETED)GO單元七創(chuàng)建及應(yīng)用觸發(fā)器4.創(chuàng)建INSTEADOF觸發(fā)器如果視圖的數(shù)據(jù)來自于多個基表,則必須使用INSTAEDOF觸發(fā)器支持引用表中的數(shù)據(jù)的插入、更新和刪除操作。例如,若在一個多表視圖上定義了INSTAEDOF觸發(fā)器,視圖各列的值可能允許為空,也可能不為空,若視圖某列的值不允許為空,則INSERT語句為該列提供相應(yīng)的值。如果視圖的列為以下幾種情況之一:基表中的計算列基表中的標(biāo)識列具有timestamp數(shù)據(jù)類型的基表列該視圖的INSERT語句必須為這些列指定值,INSTEADOF觸發(fā)器在構(gòu)成將值插入基表的INSERT語句時,會忽略指定的值。下面通過一個例子說明。任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器USEXSGLGO--創(chuàng)建一個計算列的數(shù)據(jù)表booksCREATETABLEbooks(BookKeyINTIDENTITY(1,1),BookNamenvarchar(10)NOTNULL,Colornvarchar(10)NOTNULL,ComputedColAS(BookName+Color),Pageint)GO--建立一個視圖book_view,包含基表的所有列CREATEVIEWbook_viewASSELECTBookKey,BookName,Color,ComputedCol,PageFROMbooks任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器--在視圖book_view建立一個INSTEADOF觸發(fā)器instead_insCREATETRIGGERinstead_insONbook_viewINSTEADOFINSERTASBEGININSERTINTObooksSELECTBookName,Color,PageFROMINSERTEDENDGO任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器由于其中的BookKey為標(biāo)識列,ComputedCol為計算列,所以在實際插入時,INSERT語句中不包含這兩個列的值。直接引用books表中的INSERT語句不能為BookKey字段和ComputedCol字段提供值。向表books插入數(shù)據(jù)的正確語句如下:INSERTINTObooks(BookName,Color,Page)VALUES(‘?dāng)?shù)據(jù)庫技術(shù)’,’紅色’,200)向表books插入數(shù)據(jù)的不正確語句如下:INSERTINTObooks(BookName,Color,Page)VALUES(3,‘?dāng)?shù)據(jù)庫技術(shù)’,’紅色’,’綠色’,200)而對于引用book_view視圖的INSERT語句為每列都指定值,具體如下:INSERTINTObook_view(BookKey,BookName,Color,ComputedCol,Page)VALUES(3,‘?dāng)?shù)據(jù)庫技術(shù)’,’紅色’,’綠色’,200)單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)2創(chuàng)建和應(yīng)用DML觸發(fā)器在執(zhí)行視圖的插入語句時,雖然將BookKey和ComputedCol字段的值傳遞到了book_view觸發(fā)器,但觸發(fā)器中的INSERT語句沒有選擇INSERTED表的BookKey和ComputedCol列的值,因此也就不會出現(xiàn)錯誤。用戶也可以使用圖形界面的方式建立觸發(fā)器,如圖5-5所示,但是同樣是采用SQL腳本編輯的方式,其方法類似于建立存儲過程,請讀者自學(xué)完成。返回單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)3觸發(fā)器的管理與維護
觸發(fā)器建立后,如果希望了解觸發(fā)器的定義信息則需要查看其定義信息。有時要根據(jù)需要修改和刪除觸發(fā)器,或者在必要的時候禁止或啟用觸發(fā)器等,這些就是對觸發(fā)器的管理與維護工作。一、查看觸發(fā)器的定義信息
在SQLServerManagementStudio的“對象資源管理器”中,可以對觸發(fā)器進行管理和維護,其大致步驟如下:⑴在SQLServerManagementStudio的“對象資源管理器”中,依次展開服務(wù)器節(jié)點,到“數(shù)據(jù)庫”,例如展開XSGL數(shù)據(jù)庫,展開表結(jié)點,再展開指定的表,如XS表。⑵在XS表中出現(xiàn)了“觸發(fā)器”節(jié)點,展開要進行操作的觸發(fā)器,右擊,則彈出關(guān)于觸發(fā)器操作的各個菜單項。⑶在菜單中可以根據(jù)需要選擇修改、查看、禁用(啟用)或刪除等菜單項進行相應(yīng)的操作。同存儲過程一樣,可以運行系統(tǒng)存儲過程sp_helptext、sp_help、sp_depends來查看觸發(fā)器的定義、參數(shù)和相關(guān)性等。單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)3觸發(fā)器的管理與維護單元七創(chuàng)建及應(yīng)用觸發(fā)器二、修改和刪除觸發(fā)器1.修改觸發(fā)器修改觸發(fā)器的語法格式如下。ALTERTRIGGER觸發(fā)器名ON{表|視圖}[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}[NOTFORREPLICATION]AS[{IFUPDATE(列名)[{AND|OR}UPDATE(列名)][…n]}]SQL語句其中各參數(shù)的意義與建立觸發(fā)器的語句的意義相同。任務(wù)3觸發(fā)器的管理與維護單元七創(chuàng)建及應(yīng)用觸發(fā)器【例7.4】對例7.2所創(chuàng)建的觸發(fā)器進行加密運行如下SQL語句。ALTERTRIGGERupdate_trigONCJWITHENCRYPTIONFORupdateASIFUPDATE(學(xué)號)ORUPDATE(課程號)BEGINRAISERROR('學(xué)號或課程號不能進行修改!',7,2)ROLLBACKTRANSACTIONEND--測試是否能查看觸發(fā)器的定義信息EXECUTEsp_helptextupdate_trigGO任務(wù)3觸發(fā)器的管理與維護單元七創(chuàng)建及應(yīng)用觸發(fā)器
2.刪除觸發(fā)器使用DROPTRIGGER<觸發(fā)器名>命令,即可刪除觸發(fā)器。任務(wù)3觸發(fā)器的管理與維護
查看觸發(fā)器的定義信息將顯示“對象‘update_trig’的文本已加密”。因為該觸發(fā)器已加密,所以和加密的存儲過程一樣,即使是sa用戶和dbo用戶也不能查看加密后的觸發(fā)器的內(nèi)容,所以對加密的觸發(fā)器一定要留有備份。要想取消加密,用不帶WITHENCRYPTION子句的修改觸發(fā)器命令重新修改回來即可。單元七創(chuàng)建及應(yīng)用觸發(fā)器返回任務(wù)3觸發(fā)器的管理與維護三、禁止或啟用觸發(fā)器在有些情況下,用戶希望暫停觸發(fā)器的作用,但并不刪除它。例如,當(dāng)學(xué)生畢業(yè)時,要清理XS表中部分學(xué)生的信息,但是并不希望這個刪除操作激活觸發(fā)器。在這種情況下就可以先“禁止”觸發(fā)器,等清理完成后再“啟用”觸發(fā)器。禁止和啟用觸發(fā)器的語法格式如下:ALTERTABLE表名{ENABLE|DISABLE}TRIGGER{ALL|觸發(fā)器名[,…n]}使用該語句可以禁用或啟用指定表上的某些觸發(fā)器或所有觸發(fā)器。任務(wù)4:DDL觸發(fā)器及其應(yīng)用單元七創(chuàng)建及應(yīng)用觸發(fā)器DDL觸發(fā)器是當(dāng)數(shù)據(jù)庫服務(wù)器中發(fā)生數(shù)據(jù)定義語言DDL事件時執(zhí)行的特殊存儲過程,如CREATE、ALTER等。DDL觸發(fā)器一般用于執(zhí)行數(shù)據(jù)庫中的管理任務(wù),如審核和規(guī)范數(shù)據(jù)庫操作,防止數(shù)據(jù)庫表結(jié)構(gòu)被修改等。一般來說,在以下幾種情況下可以使用DDL觸發(fā)器:(1)防止數(shù)據(jù)庫架構(gòu)進行某些修改。(2)防止數(shù)據(jù)庫或數(shù)據(jù)表被誤操作而刪除。(3)希望數(shù)據(jù)庫發(fā)生某種情況以響應(yīng)數(shù)據(jù)庫架構(gòu)中的更改。(4)要記錄數(shù)據(jù)庫架構(gòu)的更改或事件。僅在運行DDL觸發(fā)器的DDL語句后,DDL觸發(fā)器才會激發(fā)。DDL觸發(fā)器無法作為INSTEADOF觸發(fā)器而使用。單元七創(chuàng)建及應(yīng)用觸發(fā)器一、創(chuàng)建DDL觸發(fā)器創(chuàng)建DDL觸發(fā)器的語法格式如下:CREATETRIGGER觸發(fā)器名ON{服務(wù)器|數(shù)據(jù)庫}[WITHENCRYPTION]{FOR|AFTER}{DDL語句名稱}ASSQL語句任務(wù)4:DDL觸發(fā)器及其應(yīng)用單元七創(chuàng)建及應(yīng)用觸發(fā)器【例7.5】建立用于保護數(shù)據(jù)庫XSGL中的數(shù)據(jù)表不被刪除的觸發(fā)器。運行如下命令。CREATETRIGGERdis_drop_tableONXSGLFORDROP_TABLEASBEGINRAISERROR('對不起,XSGL數(shù)據(jù)庫中的表不能刪除',16,10)ROLLBACKTRANSACTIONENDGO任務(wù)4:DDL觸發(fā)器及其應(yīng)用單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)4:DDL觸發(fā)器及其應(yīng)用【例7.6】創(chuàng)建數(shù)據(jù)庫db1。--服務(wù)器范圍的DDL觸發(fā)器IFEXISTS(SELECT*FROMsys.server_triggersWHEREname='TR_CREATEDATABASE')DROPTRIGGERTR_CREATEDATABASEONALLSERVER;GOCREATETRIGGERTR_CREATEDATABASEONALLSERVERFORCREATE_DATABASEASPRINT'DatabaseCreated'PRINTCONVERT(nvarchar(1000),EventData())GO--創(chuàng)建數(shù)據(jù)庫db1CREATEDATABASEdb1;--收到下列消息DatabaseCreated<EVENT_INSTANCE><EventType>CREATE_DATABASE</EventType><PostTime>2008-09-01T20:17:35.170</PostTime><SPID>52</SPID><ServerName>YANFA0</ServerName><LoginName>YANFA0\Administrator</LoginName><DatabaseName>db1</DatabaseName><TSQLCommand><SetOptionsANSI_NULLS="ON"ANSI_NULL_DEFAULT="ON"ANSI_PADDING="ON"QUOTED_IDENTIFIER="ON"ENCRYPTED="FALSE"/><CommandText>CREATEDATABASEdb1;</CommandText></TSQLCommand></EVENT_INSTANCE>單元七創(chuàng)建及應(yīng)用觸發(fā)器任務(wù)4:DDL觸發(fā)器及其應(yīng)用【例7.7】刪除索引不成功示例。--服務(wù)器范圍的DDL觸發(fā)器IFEXISTS(SELECT*FROMsys.triggersWHEREname='TR_DROPINDEX'ANDparent_class=0)DROPTRIGGER[TR_DROPINDEX]ONDATABASEGOCREATE
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育機構(gòu)聘用兼職講師合同書3篇
- 2025年度農(nóng)村個人房屋買賣協(xié)議書(含農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)應(yīng)用)3篇
- 二零二五年度農(nóng)產(chǎn)品收購加工一體化合同范本3篇
- 二零二五年度戶外廣告牌使用權(quán)租賃協(xié)議2篇
- 二零二五年度公司員工股權(quán)激勵合伙協(xié)議3篇
- 2025年度新能源公司股權(quán)轉(zhuǎn)讓及技術(shù)合作合同3篇
- 二零二五年度石油化工機械維修保障協(xié)議2篇
- 二零二五年度全屋衣柜定制與售后保障服務(wù)合同3篇
- 2025年度生豬養(yǎng)殖與農(nóng)業(yè)保險產(chǎn)品開發(fā)合作協(xié)議2篇
- 2025年度離婚后雙方情感修復(fù)及溝通協(xié)議3篇
- 針灸推拿試題(附參考答案)
- 《機械制圖》說課課件-畫組合體視圖的方法和步驟
- 2023-2024學(xué)年成都市錦江區(qū)四年級數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含答案
- (完整版)初中英語語法專練動名詞Word版含答案
- 幼兒園醫(yī)護助教知識學(xué)習(xí)培訓(xùn)PPT
- 管體結(jié)構(gòu)尺寸與配筋設(shè)計圖冊
- 2022年版《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》及解讀
- 井下作業(yè)風(fēng)險識別與控制
- 《義務(wù)教育地理課程標(biāo)準(zhǔn)(2022年版)》全文學(xué)習(xí)解讀-2022年版義務(wù)教育課
- 2019天線年會交流-毫米波有源相控陣現(xiàn)狀及其發(fā)展趨勢
- 畢淑敏中考閱讀理解14篇(含答案)
評論
0/150
提交評論