下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)D07:事務(wù)處理和觸發(fā)器實(shí)驗(yàn) 、實(shí)驗(yàn)名稱和性質(zhì) 所屬課程 數(shù)據(jù)庫原理 實(shí)驗(yàn)名稱 事務(wù)處理和觸發(fā)器 實(shí)驗(yàn)學(xué)時 2 實(shí)驗(yàn)性質(zhì) ? 驗(yàn)證 綜合? 設(shè)計(jì) 必做/選做 ?必做選做 二、實(shí)驗(yàn)?zāi)康?1了解事務(wù)的概念和基本特征; 2. 掌握事務(wù)的提交與回滾操作 3 掌握觸發(fā)器的基本原理; 4掌握觸發(fā)器的建立語句 三、實(shí)驗(yàn)的軟硬件環(huán)境要求 硬件環(huán)境要求: PC機(jī)(單機(jī)) 使用的軟件名稱、版本號以及模塊: Windows XP 下的 SQL Server 2000 (或 SQL Server 2005) 四、知識準(zhǔn)備 1事務(wù)是一段與數(shù)據(jù)庫打交道的程序,它能保持企業(yè)狀態(tài)和數(shù)據(jù)庫狀態(tài)的一致性。當(dāng)某一 事件影響企業(yè)
2、狀態(tài)時,事務(wù)會更新數(shù)據(jù)庫狀態(tài)以體現(xiàn)這個事件的發(fā)生。如銀行里的存款事務(wù), 事件是客戶向出納員提供現(xiàn)金和存款單,事務(wù)則是更新數(shù)據(jù)庫中客戶的帳號信息以體現(xiàn)這次 存款事件。 2.事務(wù)處理具有原子性(atomicity):系統(tǒng)必須保證這段程序要么執(zhí)行到結(jié)束,要么就一點(diǎn)效 果也沒有。如果一個事務(wù)成功執(zhí)行,我們稱其已經(jīng)提交(commit); 一個事務(wù)沒有正常完成, 稱其已經(jīng)中止(abort),這時候,事務(wù)監(jiān)視器有責(zé)任保證事物對數(shù)據(jù)庫造成的部分改變要修 改回來,這就叫事務(wù)回滾 (roll back) 3 .觸發(fā)器是一種特殊類型的存儲過程,它不同于前面介紹過的一般的存儲過程。q在使用 觸發(fā)器過程中,SQL Se
3、rver使用到了兩張?zhí)厥獾呐R時表,分別是inserted和deleted表。 (1 )在deleted表中存放 Update和delete影響的舊數(shù)據(jù)行。在執(zhí)行 Update和delete時先將 數(shù)據(jù)從基本表中刪除,然后被轉(zhuǎn)移到deleted表中。 (2)在inserted表中存放 Update和insert影響的數(shù)據(jù)。當(dāng)用戶執(zhí)行Update和insert時,將 數(shù)據(jù)添加到基本表中,同時,將數(shù)據(jù)行的備份復(fù)制到inserted臨時表中。 4觸發(fā)器的創(chuàng)建格式 CREATE TRIGGER觸發(fā)器名ON 表名 AFTER INSERT/UPDA TE/DELETE AS T-SQL語句組 五、實(shí)驗(yàn)內(nèi)容
4、 1事務(wù)的提交與回滾操作; 2.觸發(fā)器的建立。 3 觸發(fā)器的修改、刪除操作。 4觸發(fā)器的刪除 六、驗(yàn)證性實(shí)驗(yàn) 1用ROLLBACK TRA實(shí)現(xiàn)事務(wù)的回滾操作。 USE STUDENT GO BEGIN TRAN SELECT * FROM C INSERT INTO C VALUES C C08J,決第支持系統(tǒng)J NULL, 3; SELECT * FROM C ROLLBACK TRAN SELECT * FROM C 觀察每次顯示 c表中數(shù)據(jù)記錄條數(shù)變化,為什么有這種變化? 2.事務(wù)回滾點(diǎn)的保存 USE STUDENT GO BEGIN TRAN Mytran SELECT 半 FROM
5、C INSERT INTO C VALUES ( CO?,信息分析與預(yù)測、NULL, 4) SAVE TRAN POINT1 INSERT INTO C VALUES C C10 數(shù)據(jù)挖掘S NULU 3: SELECT * FROM C ROLLBACK TRAN POINT1 SELECT 米 FROM C 觀察最后的c表中的數(shù)據(jù)結(jié)果與前面 c表顯示結(jié)果的不同。 3. 觸發(fā)器的建立 (1) 在S表建立建立如下觸發(fā)器 CREATE TRIGGER TRIGONS ON S FOR UPDATE AS SELECT 羋 FROM DELETED SELECT 木 FROM INSERTED 選
6、中上述觸發(fā)器創(chuàng)建語句并執(zhí)行,然后輸入下面語句: UPDATE S SET DEPA二計(jì)算機(jī)系 WHERE DEPA= CP 顯示結(jié)果: sno d,ej3 耳 a耳e sex jitrxajue 1 2000 1 8孝 F 1 & 男 NULL 2 2 Cl Cl 5 1 2水 INSERTED 表 25 女 NULL 二 sno 3 rt amdep a age sex jnxiajne 1 200018 計(jì)尊機(jī)手 19 男 NULL : 2 200512 計(jì)算:機(jī)吞 25 立 NULL : 3 9 102 劉晨 計(jì)聲機(jī)呑 20 男 NULL 4 9103 王敏 計(jì)算機(jī)系 20 文 NULL
7、 : (2 )在S表上建立下面觸發(fā)器: CREATE TRIGGER TEMPTABLE ON S FOR INSERT AS SELECT 半 FROM INSERTED ROLLBACK TRAN SELECT * FROM S 執(zhí)行上述觸發(fā)器后在 s表中插入數(shù)據(jù), INSERTINTO S (SNO, SNAME) VALUES C 10012 / ZXX?) 執(zhí)行插入語句后打開 s觀察結(jié)果。 4. 在SC表上插入一條選課記錄后,將C表中對應(yīng)的課程的 seleNUM值加1。 CREATE TRIGGER SELECTCOURSE ON SC FOR INSERT AS IF (SELEC
8、T COUNT (*) FROM INSECTED) 1 BEGIN PRINT YOU CAN INSERT ONE RECORD ONCE. SO THE RECORDS ARE NOT INSERTED INTO THE TABL ROLLBACK TRAN END ELSE BEGIN DECLARE CNO VARCHARi10 SELECT OCNOCNO FROM INSERTED UPDATE C SET seleNUM asleNUM-1 WHERE CNO: OCNO PRINT THE NUMBER OF STUDENTS WHO SELECTED1 +CNO + HAS
9、 BEEN ADDED END 5觸發(fā)器的修改、刪除 (1)修改觸發(fā)器 ALTER TRIGGER 觸發(fā)器名ON 表名 AFTER INSERT/UPDA TE/DELETE AS T-SQL語句組 在調(diào)試觸發(fā)器時可以用修改觸發(fā)器的語句來進(jìn)行。 如 CREATE TRIGGER DELS ON S FOR DELETE AS DECLARE 0DEPA VARCHAR (20) SELECT DEPA二DEPA FROM INSERTED IF DEPAJ CS BEGIN PRINT YOU CAN NOT DELETE THE STUDENT FROM CSJ ROLLBACK END 執(zhí)
10、行上面的觸發(fā)器,發(fā)現(xiàn)錯誤,則修改觸發(fā)器。 ALTER TRIGGER DELS ON S FOR DELETE AS DECLARE DEPA VARCHAR (20) SELECT DEFA-DEPA FROM DELETED IF DEPA= CS BEGIN PRINT YOU CAN NOT DELETE THE STUDENT FROM CS ROLLBACK END (2) 刪除觸發(fā)器 DROP TRIGGER 表名觸發(fā)器名 DROP TRIGGER S. DELS 6.存儲過程的相關(guān)操作 (1) 查看存儲過程: Sp_help SCLIST (2) 重命名存儲過程 Sprename SCLIST, STUDENTSCORE 七、設(shè)計(jì)性實(shí)驗(yàn) 1.實(shí)驗(yàn)要求 (1 )將S表的PRIMARY KEY完
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國乙烯-丙烯酸乙酯共聚物(EEA)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025醫(yī)療服務(wù)合同有什么特征
- 2025委托經(jīng)營管理合同(詳細(xì))
- 提高時間管理能力的訓(xùn)練
- 提高學(xué)習(xí)效果的方法和技巧
- 2025廣告場地租賃合同樣本版
- 演出合同范文集合
- 續(xù)簽借款簡單的合同范本
- 建設(shè)工程廉政合同范本年
- 旅游資源開發(fā)合同2024
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 學(xué)校制度改進(jìn)
- 各行業(yè)智能客服占比分析報(bào)告
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴(kuò)建項(xiàng)目環(huán)評報(bào)告公示
- 民謠酒吧項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 2023年珠海市招考合同制職員筆試參考題庫(共500題)答案詳解版
- 心電監(jiān)護(hù)考核標(biāo)準(zhǔn)
- 特種行業(yè)許可證申請表
- 古典芭蕾:基本技巧和術(shù)語
- 內(nèi)地居民前往香港或者澳門定居申請表
- DB43-T 2612-2023林下竹蓀栽培技術(shù)規(guī)程
評論
0/150
提交評論