版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.淮海工學(xué)院計(jì)算機(jī)工程學(xué)院實(shí)驗(yàn)報(bào)告書課程名: 數(shù)據(jù)庫原理及應(yīng)用 題 目: 存儲(chǔ)過程和觸發(fā)器 班 級(jí): 軟件132 學(xué) 號(hào): 2013122907 姓 名: 孫瑩瑩 評(píng)語:成績(jī): 指導(dǎo)教師: 批閱時(shí)間: 年 月 日精品.一 目的與要求1. 掌握存儲(chǔ)過程的創(chuàng)建方法;2. 掌握存儲(chǔ)過程的執(zhí)行、修改和刪除等操作;3. 掌握觸發(fā)器的創(chuàng)建方法;4. 掌握觸發(fā)器的使用、修改和刪除等相關(guān)內(nèi)容二 實(shí)驗(yàn)內(nèi)容基于前面建立的factory數(shù)據(jù)庫,使用t-sql語句完成如下各小題的功能:1. 創(chuàng)建一個(gè)為worker表添加職工記錄的存儲(chǔ)過程addworker;2. 創(chuàng)建一個(gè)存儲(chǔ)過程delworker刪除worker表中指
2、定職工號(hào)的記錄。3. 顯示存儲(chǔ)過程delworker;4. 刪除存儲(chǔ)過程addworker和delworker.三 實(shí)驗(yàn)步驟1 .(1)建立存儲(chǔ)過程use factorygocreate procedure addworker no int=null, name char(10)=null, sex char(2)=null, birthday datetime=null, na char(2)=null, wtime datetime=null, depno int=nullasif no is null or name is null or sex is null or birthday
3、is null or depno is nullbegin print 請(qǐng)重新輸入該職工信息! print 你必須提供職工號(hào)、姓名、性別、出生日期、部門號(hào) returnendbegin transaction insert into worker values(no,name,sex,birthday,na,wtime,depno) if error0 begin rollback tran return end精品.commit transactionprint 職工+name+的信息成功添加到表worker中(2)驗(yàn)證存儲(chǔ)過程use factorygoaddworker 20,陳立,女,5
4、5/03/08,否,75/10/10,4goselect 職工號(hào),姓名,性別,黨員否 from workergo2.(1)建立存儲(chǔ)程序use factorygocreate procedure delworker no int=nullasif no is nullbegin print 必須輸入職工號(hào)! returnendbegin transaction delete from worker where 職工號(hào)=no if error0 begin rollback tran return endcommit transactionprint 成功刪除職工號(hào)為+cast(no as cha
5、r(2)+的職工記錄執(zhí)行下列語句,可驗(yàn)證存儲(chǔ)過程的正確性:use factorygodelworker 20goselect 職工號(hào),姓名,性別,黨員否 from workergo3.use factorygoexec sp_helptext delworkergo4.use factorygoif exists (select name from sysobjects精品. where name = addworker and type =p) drop procedure addworkergoif exists (select name from sysobjects where nam
6、e = delworker and type =p) drop procedure delworkergo5.建立觸發(fā)器depart_update的程序如下:use factorygoif exists (select name from sysobjects where type=tr and name=depart_update) drop trigger depart_updategocreate trigger depart_update on depart after update as declare olddepno int,newdepno int select olddepn
7、o=部門號(hào)from deleted select newdepno=部門號(hào)from insertedupdate worker set 部門號(hào)=newdepnowhere 部門號(hào)=olddepnogo執(zhí)行下列語句,可驗(yàn)證存儲(chǔ)過程的正確性:use factorygoprint 將部門號(hào)改為update departset 部門號(hào)=105where 部門號(hào)=101goselect 職工號(hào),姓名,部門號(hào)from workergoprint 將部門號(hào)改為update departset 部門號(hào)=101where 部門號(hào)=105goselect 職工號(hào),姓名,部門號(hào)from workergo6.建立觸發(fā)
8、器worker_delete的程序如下:use factorygoif exists (select name from sysobjects精品. where type=tr and name=worker_delete) drop trigger worker_deletegocreate trigger worker_delete on worker for delete as declare no int select no=職工號(hào)from deleteddelete from salary where 職工號(hào)=nogo執(zhí)行下列語句,可驗(yàn)證存儲(chǔ)過程的正確性:use factorygop
9、rint 刪除前的工資記錄select * from salarygodelete from workerwhere 職工號(hào)=15goprint 刪除職工號(hào)為的職工記錄后的工資記錄select * from salarygo7.刪除觸發(fā)器depart_update的程序如下:use factorygodrop trigger depart_updatego8.刪除觸發(fā)器worker_delete的程序如下:use factorygodrop trigger worker_deletego四 測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果第1題圖第2題圖精品.第3題圖 精品.第5題圖精品.第6題圖五結(jié)果分析與實(shí)驗(yàn)體會(huì)cre
10、ate procedure語句允許創(chuàng)建、編譯并在ms-sql server上保存存儲(chǔ)過程。在默認(rèn)情況下,只有數(shù)據(jù)庫擁有者(dbo)具有對(duì)數(shù)據(jù)庫的create procedure訪問權(quán)。但是,dbo可執(zhí)行以下形式的grant語句向由語句中的所標(biāo)識(shí)的用戶id授予create procedure訪問權(quán): grant create procedure create procedure語句的句法如下: create procedure ; varying= output,nwith recompile|encryption|recompile,encryptionfor replicationas 其中
11、:是存儲(chǔ)過程的名稱,名稱至多可有128個(gè)字符。允許創(chuàng)建多個(gè)有相同名稱的存儲(chǔ)過程。通過在執(zhí)行命令中包括版本號(hào)從而執(zhí)行指定版本的存儲(chǔ)過程,如下面的語句所示:exec usp_proc;2。如果調(diào)用存儲(chǔ)過程時(shí)沒有指定版本號(hào),dbms將執(zhí)行具有相同名稱的存儲(chǔ)過程組中最高版本號(hào)的存儲(chǔ)過程。通過在drop語句中包括版本號(hào),如drop procedure usp_proc;2所示,可以刪除特定版本號(hào)的存儲(chǔ)過程,或者忽略版本號(hào),如drop procedure usp_proc從而一次刪除存儲(chǔ)過程的所有版本。是可用作存儲(chǔ)過程中的變量的參數(shù)名。每個(gè)參數(shù)的值必須在存儲(chǔ)過程調(diào)用中提供或者作為create proced
12、ure語句的一部分設(shè)置為缺省值。雖然參數(shù)可用作存儲(chǔ)過程中的變量名,但參數(shù)不能用作列名、表名或是其他數(shù)據(jù)庫對(duì)象的名稱。精品.是參數(shù)的數(shù)據(jù)類型。參數(shù)可以是任何合法的sql數(shù)據(jù)類型(包括text、ntext和image)或用戶定義的數(shù)據(jù)類型。如果參數(shù)是cursor數(shù)據(jù)類型,該參數(shù)還必須被指定為varying和output。varying僅對(duì)數(shù)據(jù)類型為cursor的參數(shù)才是合法的。指明該參數(shù)將包括內(nèi)容會(huì)變化的結(jié)果集,其內(nèi)容由存儲(chǔ)過程中的語句動(dòng)態(tài)地構(gòu)成。是參數(shù)的默認(rèn)值。如果指定,則過程可在不指定參數(shù)的情況下執(zhí)行。output指明參數(shù)在存儲(chǔ)過程中可以變化,而且修改后的值可返回給主調(diào)過程。,n指明creat
13、e procedure語句可有多達(dá)2100個(gè)參數(shù)。recompile每當(dāng)存儲(chǔ)過程被調(diào)用時(shí)告訴ms-sql server都要進(jìn)行編譯(也就是生成新的執(zhí)行計(jì)劃)。如果沒有此選項(xiàng)項(xiàng),dbms在執(zhí)行create procedure語句時(shí)編碼存儲(chǔ)過程,每次調(diào)用時(shí)都使用同一執(zhí)行計(jì)劃。encryption告訴ms-sql server加密syscomments表中存儲(chǔ)過程條目的文本,以防止用戶查看編譯后的存儲(chǔ)過程中的語句。指定此選項(xiàng)還可防止存儲(chǔ)過程被除數(shù)作為ms-sql server的復(fù)制過程而分開。由于創(chuàng)建的觸發(fā)器在條件成立時(shí)會(huì)自動(dòng)被調(diào)用,可能影響后面示例的執(zhí)行,所以當(dāng)一個(gè)觸發(fā)器不再需要時(shí),需將其禁用,禁用trigop觸發(fā)器的操作是:選中factory表節(jié)點(diǎn),展開下方的觸發(fā)器節(jié)點(diǎn),右擊trigop,在出現(xiàn)的快捷菜單中選擇禁用命令。如要重新啟動(dòng)已禁用的觸發(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 音樂活動(dòng)教案一只哈巴狗
- 鈾行業(yè)AI時(shí)代的關(guān)鍵資源品全球核電復(fù)興鈾礦景氣反轉(zhuǎn)
- 安全生產(chǎn)事故隱患排查治理實(shí)施辦法
- 摩托車的材料選擇與可持續(xù)發(fā)展考核試卷
- 醫(yī)用造口袋的選擇和清潔方法考核試卷
- 企業(yè)文化與組織氛圍培訓(xùn)考核試卷
- 期貨公司周邊道路改造臨時(shí)合同
- 遠(yuǎn)程醫(yī)療解除合同模板
- 傳媒行業(yè)專家聘任協(xié)議
- 女性職場(chǎng)權(quán)益保障策略共促發(fā)展
- 消化道穿孔課件
- 液化氣站氣質(zhì)分析報(bào)告管理制度
- 可編輯修改中國(guó)地圖模板
- 水務(wù)集團(tuán)有限公司檔案管理制度資料
- 人教版小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)20以內(nèi)加減法口算題匯編
- 為先祖立碑祭文五篇
- DBJ50T-232-2016 建設(shè)工程監(jiān)理工作規(guī)程
- DB37∕T 5031-2015 SMC玻璃鋼檢查井應(yīng)用技術(shù)規(guī)程
- 回彈強(qiáng)度對(duì)應(yīng)表
- 名著導(dǎo)讀《童年》完整版PPT課件
- 智慧學(xué)校(智慧教育)智慧校園創(chuàng)建工作匯報(bào)-強(qiáng)管理、重應(yīng)用、促提升
評(píng)論
0/150
提交評(píng)論