版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列Chapter 6常用存儲(chǔ)過程、視圖、索引器與觸發(fā)器 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列本章目標(biāo)l掌握如何創(chuàng)建視圖l掌握如何創(chuàng)建索引l掌握如創(chuàng)創(chuàng)建觸發(fā)器l掌握常用的存儲(chǔ)過程 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列什么是視圖CREATE VIEW view_stuInfo_stuMarks AS SELECT 姓名姓名=stuName, 學(xué)號(hào)學(xué)號(hào)=stuInfo.stuNo,基于學(xué)員信息表和基于學(xué)員信息表和成績(jī)表創(chuàng)建視圖成績(jī)表創(chuàng)建視圖教員需要的視圖:教員需要的視圖:方便查看學(xué)員的成績(jī)方便查看學(xué)員的成績(jī)班主任需要的視圖:班主任需要的視圖:方便查看學(xué)
2、員的檔案方便查看學(xué)員的檔案 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列什么是視圖l視圖是一張?zhí)摂M表,它表示一張表的部分?jǐn)?shù)據(jù)或多張表的綜合數(shù)據(jù),其結(jié)構(gòu)和數(shù)據(jù)是建立在對(duì)表的查詢基礎(chǔ)上l視圖中并不存放數(shù)據(jù),而是存放在視圖所引用的原始表(基表)中l(wèi)同一張?jiān)急恚鶕?jù)不同用戶的不同需求,可以創(chuàng)建不同的視圖 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列什么是視圖l視圖的用途篩選表中的行防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù)降低數(shù)據(jù)庫的復(fù)雜程度將多個(gè)物理數(shù)據(jù)庫抽象為一個(gè)邏輯數(shù)據(jù)庫 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列如何創(chuàng)建視圖l使用T-SQL語句創(chuàng)建視圖的語法CREATE VIEW view_name AS Han
3、ds-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列如何創(chuàng)建視圖l創(chuàng)建方便教員查看成績(jī)的視圖IF EXISTS (SELECT * FROM sysobjects WHERE name = view_stuInfo_stuMarks) DROP VIEW view_stuInfo_stuMarksGOCREATE VIEW view_stuInfo_stuMarks AS SELECT 姓名姓名=stuName,學(xué)號(hào)學(xué)號(hào)=stuInfo.stuNo, 筆試成績(jī)筆試成績(jī) =writtenExam, 機(jī)試成績(jī)機(jī)試成績(jī)=labExam, 平均分平均分=(writtenExam+labExam)/2 FROM stuI
4、nfo LEFT JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNoGOSELECT * FROM view_stuInfo_stuMarks檢測(cè)是否存在檢測(cè)是否存在創(chuàng)建視圖創(chuàng)建視圖使用視圖使用視圖刪除視圖刪除視圖 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列什么是索引l漢語字典中的漢字按頁存放,一般都有漢語拼音目錄(索引)、偏旁部首目錄等l我們可以根據(jù)拼音或偏旁部首,快速查找某個(gè)字詞 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列Indexes Use Key Values to Locate Data(根據(jù)索引鍵查找定位數(shù)據(jù)行)(根據(jù)索引鍵查找定位數(shù)據(jù)行) D
5、ata Pages(數(shù)據(jù)頁)(數(shù)據(jù)頁)Index Pages(索引頁)(索引頁) 什么是索引 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列什么是索引lSQL Server中的數(shù)據(jù)也是按頁( 8KB )存放l索引:是SQL Server編排數(shù)據(jù)的內(nèi)部方法。它為SQL Server提供一種方法來編排查詢數(shù)據(jù) 。l索引頁:數(shù)據(jù)庫中存儲(chǔ)索引的數(shù)據(jù)頁;索引頁類似于漢語字(詞)典中按拼音或筆畫排序的目錄頁。l索引的作用:通過使用索引,可以大大提高數(shù)據(jù)庫的檢索速度,改善數(shù)據(jù)庫性能。 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列索引類型l唯一索引:唯一索引不允許兩行具有相同的索引值l主鍵索引:為表定義一個(gè)主鍵將自動(dòng)創(chuàng)
6、建主鍵索引,主鍵索引是唯一索引的特殊類型。主鍵索引要求主鍵中的每個(gè)值是唯一的,并且不能為空l聚集索引(Clustered):表中各行的物理順序與鍵值的邏輯(索引)順序相同,每個(gè)表只能有一個(gè)l非聚集索引(Non-clustered):非聚集索引指定表的邏輯順序。數(shù)據(jù)存儲(chǔ)在一個(gè)位置,索引存儲(chǔ)在另一個(gè)位置,索引中包含指向數(shù)據(jù)存儲(chǔ)位置的指針??梢杂卸鄠€(gè),小于249個(gè) Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列如何創(chuàng)建索引l 演示使用企業(yè)管理器創(chuàng)建 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列如何創(chuàng)建索引CREATE UNIQUE CLUSTERED|NONCLUSTERED INDEX index_name
7、 ON table_name (column_name) WITH FILLFACTOR=xq UNIQUE表示唯一索引,可選表示唯一索引,可選q CLUSTERED、NONCLUSTERED表示聚集索引還是表示聚集索引還是 非聚集索引,可選非聚集索引,可選q FILLFACTOR表示填充因子,指定一個(gè)表示填充因子,指定一個(gè)0到到100之間的值,之間的值,q 該值指示索引頁填滿的空間所占的百分比該值指示索引頁填滿的空間所占的百分比l 使用T-SQL語句創(chuàng)建索引的語法:唯一索引唯一索引聚集索引或非聚集索引聚集索引或非聚集索引填充因子(系數(shù))填充因子(系數(shù)):指定一個(gè)指定一個(gè)0100之之間的值,表
8、示索引頁填充的百分比間的值,表示索引頁填充的百分比 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列USE stuDBGOIF EXISTS (SELECT name FROM sysindexes WHERE name = IX_writtenExam) DROP INDEX stuMarks.IX_writtenExam /*-筆試列創(chuàng)建非聚集索引:填充因子為筆試列創(chuàng)建非聚集索引:填充因子為30-*/CREATE NONCLUSTERED INDEX IX_writtenExam ON stuMarks(writtenExam) WITH FILLFACTOR= 30GO/*-指定按索引指定按索引
9、 IX_writtenExam 查詢查詢-*/SELECT * FROM stuMarks (INDEX=IX_writtenExam) WHERE writtenExam BETWEEN 60 AND 90如何創(chuàng)建索引l 在stuMarks表的writtenExam列創(chuàng)建索引:檢測(cè)索引是否存在:檢測(cè)索引是否存在:索引存放在系統(tǒng)表索引存放在系統(tǒng)表sysindexes中中 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列索引的優(yōu)缺點(diǎn)l優(yōu)點(diǎn)加快訪問速度加強(qiáng)行的唯一性l缺點(diǎn)帶索引的表在數(shù)據(jù)庫中需要更多的存儲(chǔ)空間操縱數(shù)據(jù)的命令需要更長(zhǎng)的處理時(shí)間,因?yàn)樗鼈冃枰獙?duì)索引進(jìn)行更新 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程
10、系列創(chuàng)建索引的指導(dǎo)原則l請(qǐng)按照下列標(biāo)準(zhǔn)選擇建立索引的列。該列用于頻繁搜索該列用于對(duì)數(shù)據(jù)進(jìn)行排序l請(qǐng)不要使用下面的列創(chuàng)建索引:列中僅包含幾個(gè)不同的值。表中僅包含幾行。為小型表創(chuàng)建索引可能不太劃算,因?yàn)镾QL Server在索引中搜索數(shù)據(jù)所花的時(shí)間比在表中逐行搜索所花的時(shí)間更長(zhǎng) Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列小結(jié)1l視圖是一張?zhí)摂M表,可以方便不同用戶的查詢,提高數(shù)據(jù)的安全性,篩選特定的數(shù)據(jù)行l(wèi)建立索引有助于快速檢索數(shù)據(jù)。索引分為唯一索引、主鍵索引、聚集索引、非聚集索引 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列觸發(fā)器l是一種特殊類型的存儲(chǔ)過程,基于某個(gè)表或視圖(觸發(fā)表、觸發(fā)視圖)的一個(gè)或多
11、個(gè)列創(chuàng)建,用于監(jiān)控它們的insert、update、delete操作(觸發(fā)操作),當(dāng)發(fā)生以上操作時(shí)自動(dòng)執(zhí)行事先定義的步驟,可進(jìn)行復(fù)雜的數(shù)據(jù)完整性監(jiān)測(cè)和約束 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列觸發(fā)器的特點(diǎn)l不能直接調(diào)用,只有在對(duì)觸發(fā)器表的數(shù)據(jù)進(jìn)行更改時(shí),才自動(dòng)執(zhí)行l(wèi)不能傳遞和接受參數(shù)l觸發(fā)器可以實(shí)施更為復(fù)雜的數(shù)據(jù)完整性約束 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列q 觸發(fā)器觸發(fā)時(shí):q系統(tǒng)自動(dòng)在內(nèi)存中創(chuàng)建deleted表或inserted表q只讀,不允許修改;觸發(fā)器執(zhí)行完成后,自動(dòng)刪除q inserted 表 q臨時(shí)保存了插入或更新后的記錄行 q可以從inserted表中檢查插入的數(shù)據(jù)是否滿
12、足業(yè)務(wù)需求q 如果不滿足,則向用戶報(bào)告錯(cuò)誤消息,并回滾插入操作q deleted 表q臨時(shí)保存了刪除或更新前的記錄行 q可以從deleted表中檢查被刪除的數(shù)據(jù)是否滿足業(yè)務(wù)需求q 如果不滿足,則向用戶報(bào)告錯(cuò)誤消息,并回滾插入操作 inserted 和deleted 表2-1 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列 inserted 和deleted 表2-2修改操作inserted表deleted表增加(INSERT)記錄 存放新增的記錄-刪除(DELETE)記錄-存放被刪除的記錄修改(UPDATE)記錄存放更新后的記錄存放更新前的記錄inserted表和deleted表存放的信息 Hand
13、s-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列q創(chuàng)建觸發(fā)器的語法: 如何創(chuàng)建觸發(fā)器CREATE TRIGGER trigger_name ON table_name WITH ENCRYPTION FOR DELETE, INSERT, UPDATE AS T-SQL語句語句GOWITH ENCRYPTION表示加密觸發(fā)器定義的SQL文本DELETE, INSERT, UPDATE指定觸發(fā)器的類型 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列INSERT觸發(fā)器transInfocardIDtransType transMoney1001 00021001 0002存入 300存入 500insertedcard
14、IDtransType transMoney1001 0001支取 200transInfocardIDtransType transMoney1001 00021001 0002存入 300300存入 5005001001 0001支取 200插入記錄行觸發(fā)insert觸發(fā)器。向inserted表中插入新行的副本觸發(fā)器檢查inserted表中插入的新行數(shù)據(jù),確定是否需要回滾或執(zhí)行其他操作qINSERT觸發(fā)器的工作原理: Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列INSERT 觸發(fā)器示例 3-1 問題:?jiǎn)栴}:解決上述的銀行取款問題:當(dāng)向交易信息表(transInfo)中插入一條交易信息時(shí),我們應(yīng)
15、自動(dòng)更新對(duì)應(yīng)帳戶的余額。 分析:分析:l在交易信息表上創(chuàng)建INSERT觸發(fā)器 l從inserted臨時(shí)表中獲取插入的數(shù)據(jù)行l(wèi)根據(jù)交易類型(transType)字段的值是存入/支取,l 增加/減少對(duì)應(yīng)帳戶的余額。 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列-關(guān)鍵代碼-CREATE TRIGGER trig_transInfo ON transInfo FOR INSERT AS DECLARE type char(4),outMoney MONEY DECLARE myCardID char(10),balance MONEY SELECT type=transType,outMoney=tran
16、sMoney, myCardID=cardID FROM inserted IF (type=支取) UPDATE bank SET currentMoney=currentMoney-outMoney WHERE cardID=myCardID ELSE UPDATE bank SET currentMoney=currentMoney+outMoney WHERE cardID=myCardID .GO INSERT 觸發(fā)器示例 3-2 從inserted表中獲取交易類型、教員金額等根據(jù)交易類型,減少或增加對(duì)應(yīng)卡號(hào)的余額 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列INSERT 觸發(fā)器示例 3
17、-3 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列transInfocardIDtransType transMoney存入 300存入 5001001 0001支取 200DELETE觸發(fā)器transInfocardIDtransType transMoney1001 00021001 0002存入 300存入 500deletedcardIDtransType transMoney1001 0001支取 200刪除記錄行觸發(fā)delete觸發(fā)器向deleted表中插入被刪除的副本觸發(fā)器檢查deleted表中被刪除的數(shù)據(jù),決定是否需要回滾或執(zhí)行其他操作qDELETE觸發(fā)器的工作原理: Hands-
18、On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列問題:?jiǎn)栴}:當(dāng)刪除交易信息表時(shí),要求自動(dòng)備份被刪除的數(shù)據(jù)到表backupTable中 。分析:分析:l在交易信息表上創(chuàng)建DELETE觸發(fā)器 l被刪除的數(shù)據(jù)可以從deleted表中獲取DELETE觸發(fā)器示例 3-1 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列-關(guān)鍵代碼-CREATE TRIGGER trig_delete_transInfo ON transInfo FOR DELETE AS print 開始備份數(shù)據(jù),請(qǐng)稍后. IF NOT EXISTS(SELECT * FROM sysobjects WHERE name=backupTable) SELECT *
19、 INTO backupTable FROM deleted ELSE INSERT INTO backupTable SELECT * FROM deleted print 備份數(shù)據(jù)成功,備份表中的數(shù)據(jù)為: SELECT * FROM backupTable GO 從deleted表中獲取被刪除的交易記錄DELETE觸發(fā)器示例 3-2 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列DELETE觸發(fā)器示例 3-3 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列Deleted(更新前的數(shù)據(jù))customerNamecardID currentMoney李四1000 0002 1bankcustomerNam
20、e cardID currentMoney張三 10010001 1000 李四李四10000002 1UPDATE觸發(fā)器刪除記錄行向deleted表中插入被刪除的副本檢查deleted和inserted表中的數(shù)據(jù),確定是否需要回滾或執(zhí)行其他操作qUPDATE觸發(fā)器的工作原理:李四 10000002 20001向inserted表中插入被添加的副本Inserted(更新后的數(shù)據(jù))customerNamecardID currentMoney李四1000 0002 20001插入記錄行 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列問題:?jiǎn)栴}:跟蹤用戶的交易,交易金額超過20000元,則取消交易,并給
21、出錯(cuò)誤提示。 分析:分析:l在bank表上創(chuàng)建UPDATE觸發(fā)器 l修改前的數(shù)據(jù)可以從deleted表中獲取l修改后的數(shù)據(jù)可以從inserted表中獲取UPDATE觸發(fā)器示例 3-1 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列-關(guān)鍵代碼-CREATE TRIGGER trig_update_bank ON bank FOR UPDATE AS DECLARE beforeMoney MONEY,afterMoney MONEY SELECT beforeMoney=currentMoney FROM deleted SELECT afterMoney=currentMoney FROM inse
22、rted IF ABS(afterMoney-beforeMoney)20000 BEGIN print 交易金額:+convert(varchar(8), ABS(afterMoney-beforeMoney) RAISERROR (每筆交易不能超過2萬元,交易失敗,16,1) ROLLBACK TRANSACTION ENDGO 從deleted表中獲取交易前的余額,從inserted表中獲取交易后的余額UPDATE觸發(fā)器 3-2交易金額是否2萬回滾事務(wù),撤銷交易 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列UPDATE觸發(fā)器 3-3 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列列級(jí) UPDATE
23、 觸發(fā)器 3-1qUPDATE觸發(fā)器除了跟蹤數(shù)據(jù)的變化(修改)外,還可以檢查是否修改了某列的數(shù)據(jù) q使用UPDATE(列)函數(shù)檢測(cè)是否修改了某列問題:?jiǎn)栴}:交易日期一般由系統(tǒng)自動(dòng)產(chǎn)生,默認(rèn)為當(dāng)前日期。為了安全起見,一般禁止修改,以防舞弊。 分析:分析:UPDATE(列名)函數(shù)可以檢測(cè)是否修改了某列 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列-關(guān)鍵代碼-CREATE TRIGGER trig_update_transInfo ON transInfo FOR UPDATE AS IF UPDATE(transDate) BEGIN print 交易失敗. RAISERROR (安全警告:交易日期不
24、能修改, 由系統(tǒng)自動(dòng)產(chǎn)生,16,1) ROLLBACK TRANSACTION ENDGO 檢查是否修改了交易日期列transDate回滾事務(wù),撤銷交易列級(jí) UPDATE 觸發(fā)器 3-2 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列列級(jí) UPDATE 觸發(fā)器 3-3 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列查看觸發(fā)器查看觸發(fā)器(1)使用SQL Server管理平臺(tái)查看觸發(fā)器信息。在SQL Server管理平臺(tái)中,展開服務(wù)器和數(shù)據(jù)庫,選擇并展開表,然后展開觸發(fā)器選項(xiàng),右擊需要查看的觸發(fā)器名稱,如圖9-4所示,從彈出的快捷菜單中,選擇“編寫觸發(fā)器腳本為create到新查詢編輯器窗口”,則可以看到觸發(fā)器
25、的源代碼。 圖9-4 查看觸發(fā)器 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列查看觸發(fā)器查看觸發(fā)器(2)使用系統(tǒng)存儲(chǔ)過程查看觸發(fā)器。l系統(tǒng)存儲(chǔ)過程sp_help、sp_helptext和sp_depends分別提供有關(guān)觸發(fā)器的不同信息。其具體用途和語法形式如下。lsp_help:用于查看觸發(fā)器的一般信息,如觸發(fā)器的名稱、屬性、類型和創(chuàng)建時(shí)間。sp_help 觸發(fā)器名稱lsp_helptext:用于查看觸發(fā)器的正文信息。sp_helptext 觸發(fā)器名稱lsp_depends:用于查看指定觸發(fā)器所引用的表或者指定的表涉及到的所有觸發(fā)器。sp_depends 觸發(fā)器名稱sp_depends 表名 Ha
26、nds-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列修改觸發(fā)器修改觸發(fā)器l通過SQL Server管理平臺(tái)、存儲(chǔ)過程,可以修改觸發(fā)器的正文和名稱。1使用SQL Server管理平臺(tái)修改觸發(fā)器正文。 在管理平臺(tái)中,展開指定的表,右擊要修改的觸發(fā)器,從彈出的快捷菜單中選擇“修改”選項(xiàng),則會(huì)出現(xiàn)觸發(fā)器修改窗口,如圖9-5所示。在文本框中修改觸發(fā)器的SQL語句,單擊“語法檢查”按鈕,可以檢查語法是否正確,單擊“執(zhí)行”按鈕,可以成功修改此觸發(fā)器。 圖9-5 觸發(fā)器修改窗口 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列修改觸發(fā)器修改觸發(fā)器l修改DML觸發(fā)器的語法形式如下: ALTER TRIGGER schema_name.
27、trigger_name ON (table|view) WITH ,.n (FOR|AFTER|INSTEAD OF) DELETE,INSERT,UPDATE NOT FOR REPLICATION AS sql_statement;.n|EXTERNAL NAME ; :=ENCRYPTION&lEXECUTE AS Clause :=assembly_name.class_name.method_namel修改DDL觸發(fā)器的語法形式如下: ALTER TRIGGER trigger_name ON DATABASE|ALL SERVERWITH ,.n FOR|AFTEReve
28、nt_type,.n|event_group AS sql_statement;|EXTERNAL NAME ; :=ENCRYPTION&lEXECUTE AS Clause :=assembly_name.class_name.method_name Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列修改觸發(fā)器修改觸發(fā)器l例9-13 修改觸發(fā)器。 程序清單如下: CREATE TRIGGER s_reminder ON S WITH ENCRYPTION AFTER INSERT, UPDATE AS RAISERROR (不能對(duì)該表執(zhí)行添加、更新操作, 16, 10) ROLLBACK G
29、Ol - 下面修改觸發(fā)器. ALTER TRIGGER s_reminder ON S AFTER INSERT AS RAISERROR (不能對(duì)該表執(zhí)行添加操作, 16, 10) ROLLBACK GO Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列修改觸發(fā)器修改觸發(fā)器2使用sp_rename命令修改觸發(fā)器的名稱。 sp_rename命令的語法形式如下:sp_rename oldname,newname Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列刪除觸發(fā)器刪除觸發(fā)器l由于某種原因,需要從表中刪除觸發(fā)器或者需要使用新的觸發(fā)器,這就必須首先刪除舊的觸發(fā)器。只有觸發(fā)器所有者才有權(quán)刪除觸發(fā)器。刪除已創(chuàng)建的
30、觸發(fā)器有三種方法: (1)使用系統(tǒng)命令DROP TRIGGER刪除指定的觸發(fā)器。其語法形式如下: DROP TRIGGER trigger ,.n (2)刪除觸發(fā)器所在的表。刪除表時(shí),SQL Server將會(huì)自動(dòng)刪除與該表相關(guān)的觸發(fā)器。 (3)在SQL Server管理平臺(tái)中,展開指定的服務(wù)器和數(shù)據(jù)庫,選擇并展開指定的表,右擊要?jiǎng)h除的觸發(fā)器,從彈出的快捷菜單中選擇“刪除”選項(xiàng),即可刪除該觸發(fā)器。 Hands-On實(shí)訓(xùn)教程系列實(shí)訓(xùn)教程系列 觸發(fā)器是在對(duì)表進(jìn)行插入、更新或刪除操作時(shí)自動(dòng)執(zhí)行的存儲(chǔ)過程,觸發(fā)器通常用于強(qiáng)制業(yè)務(wù)規(guī)則 觸發(fā)器還是一個(gè)特殊的事務(wù)單元,當(dāng)出現(xiàn)錯(cuò)誤時(shí),可以執(zhí)行ROLLBACK TRANSACTION回滾撤銷操作 觸發(fā)器一般都需要使用臨時(shí)表:deleted表和inserted表,它們存放了被刪除或插入的記錄行副本 觸發(fā)器類型: INSERT觸發(fā)器 UPDATE觸發(fā)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)運(yùn)作課程設(shè)計(jì)8
- 露營(yíng)課程設(shè)計(jì)分析題
- 模擬電子課程設(shè)計(jì)循環(huán)燈
- 2024年亞光格柵燈項(xiàng)目可行性研究報(bào)告
- 2024至2030年中國(guó)固定洗臉盆螺栓行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國(guó)古董窗花數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 飛翔的小鳥課程設(shè)計(jì)java
- 高中物理活動(dòng)課程設(shè)計(jì)
- 中國(guó)霧化片市場(chǎng)深度調(diào)查與投資策略分析研究報(bào)告(2024-2030版)
- 中國(guó)銅包鋼接地棒行業(yè)營(yíng)銷策略與投資風(fēng)險(xiǎn)分析研究報(bào)告(2024-2030版)
- 個(gè)人申報(bào)國(guó)家社科基金的過程與體會(huì)
- QtC++程序設(shè)計(jì)-教學(xué)大綱
- 《企業(yè)普法講座》課件
- 引領(lǐng)學(xué)生了解物理科學(xué)的前沿與進(jìn)展
- 2024年國(guó)家能源集團(tuán)公司招聘筆試參考題庫含答案解析
- 污泥( 廢水)運(yùn)輸服務(wù)方案(技術(shù)方案)
- 如何搞定你的客戶-
- 八年級(jí)物理上冊(cè)說課稿:第二章2.1物質(zhì)的三態(tài) 溫度的測(cè)量
- 職業(yè)院校面試題目及答案
- 湖北省鄂東南省級(jí)示范高中教育教學(xué)改革聯(lián)盟2023-2024學(xué)年高一上學(xué)期期中聯(lián)考政治試題
- 海水淡化處理方案
評(píng)論
0/150
提交評(píng)論