實驗報告8創(chuàng)建和使用存儲過程_第1頁
實驗報告8創(chuàng)建和使用存儲過程_第2頁
實驗報告8創(chuàng)建和使用存儲過程_第3頁
實驗報告8創(chuàng)建和使用存儲過程_第4頁
實驗報告8創(chuàng)建和使用存儲過程_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、山西大學(xué)計算機與信息技術(shù)學(xué)院實驗報告姓 名許小珍學(xué) 號2010242097專業(yè)班級軟件一班課程名稱數(shù)據(jù)庫實驗日期2012.05.22成 績指導(dǎo)教師龐繼芳批改日期實驗名稱創(chuàng)建和使用存儲過程一、 實驗?zāi)康模?(1)了解存儲過程的概念和作用; (2)掌握存儲過程的創(chuàng)建、執(zhí)行以及查看、修改和刪除.二、 實驗內(nèi)容:(1)存儲過程的創(chuàng)建與執(zhí)行;(2)存儲過程的查看、修改與刪除.三、 實驗步驟:1 使用SQL命令窗口創(chuàng)建存儲過程 (1)打開SQL Server Management Studio,選擇“對象資源管理器”中的“學(xué)生數(shù)據(jù)庫”,然后用鼠標(biāo)單擊“新建查詢”按鈕,打開SQL命令窗口,在可編輯區(qū)輸入如下

2、代碼,單擊“執(zhí)行”按鈕即可創(chuàng)建存儲過程,1.為student表創(chuàng)建查詢所有信息的存儲過程,不帶參數(shù)create procedure stu1as select *from studentexec stu12.創(chuàng)建一個不帶參數(shù)的存儲過程,從Course中選擇所有“Grade>85”的記錄,輸入如下語句,單擊“執(zhí)行”,create proc getstudent1as select *from scwhere grade>'85'exec getstudent13.創(chuàng)建一個帶參數(shù)的存儲過程,從Course中選擇Grade介于6589之間的記錄,輸入如下語句,單擊“執(zhí)行”

3、,create proc student2min int , max int as select * from sc where grade between min and maxstudent2 65 , 89declare min int,max intexec student2 65 ,894.創(chuàng)建與執(zhí)行帶輸入、輸出參數(shù)的存儲過程,實現(xiàn)顯示“Course”中給定學(xué)號的信息,并輸出“Course”中該學(xué)號的學(xué)生所選課程中的最高分數(shù)和最低分數(shù),create proc student3sno varchar (20) ,max int output,min int outputas selec

4、t * from sc where sno=sno select max=max (grade) from sc where sno=snoselect min=min(grade) from sc where sno=sno declarex1 int, x2 intexec student3 '200215122',x1 output,x2 outputselect x1 as 最高分, x2 as 最低分2.查看存儲過程(1)使用Mircrosoft SQL Server 2005 Management Studio查看用戶創(chuàng)建存儲過程。在使用SQL Server Man

5、agement Studio中,展開指定的服務(wù)器和數(shù)據(jù)庫,選擇展開“可編程性”“存儲過程”節(jié)點,然后在要查看的存儲過程名稱上單擊鼠標(biāo)右鍵。從彈出的快捷菜單中選擇“編寫存儲過程腳本為”“CREATE到”“新查詢編輯器”窗口命令,即可看到存儲過程的源代碼: (2)使用系統(tǒng)存儲過程來查看用戶創(chuàng)建的存儲過程 可供使用的系統(tǒng)存儲過程及語法格式如下:·sp_help,用于顯示存儲過程的參數(shù)機器數(shù)據(jù)類型,其語法為: sp_helpobjname=name,參數(shù)name為要查看的存儲過程的名稱。·sp_helptext,用于顯示存儲過程的代碼,其語法為: sp_helptextobjnam

6、e=name,參數(shù)name為要查看的存儲過程的名稱。·sp_depends,用于顯示和存儲過程相關(guān)的數(shù)據(jù)庫對象,其語法為: sp_dependsobjname=object,參數(shù)object為要查看依賴關(guān)系的存儲過程的名稱。·sp_stored_procedurse,用于返回當(dāng)前數(shù)據(jù)庫中的存儲過程列表,其語法為: sp_stored_procedursesp_name=name ,sp_owner=owner, ,sp_qualifier=qualifier其中sp_name=name用于制定返回目錄信息的過程名;sp_owner=owner用于指定存儲過程的所有者的名稱;

7、sp_qualifier=qualifier用于指定過程限定符的名稱例1:執(zhí)行sp_help例2:執(zhí)行sp_stored_procedures sp_owner='dbo' 例3:執(zhí)行sp_depends SC3.修改存儲過程 存儲過程可以根據(jù)用戶的要求或基表定義的改變而改變??梢允褂肁LTER PROCEDURE語句修改已經(jīng)存在的存儲過程。修改存儲過程與刪除和重建存儲過程不同,其特點是保持存儲過程的權(quán)限不發(fā)生變化,其主要語法格式如下: ALTER PROCEDURE procedure_name;number parameter data_type VARYING=defua

8、ltOUTPUT,nWITHPECOMPILEENCRYPTIONRECOMPILE,ENCRYPTIONFOR REPLICATIONASSql_statementn使用SQL Server Management Studio也可以很方便地修改存儲過程的定義,早SQL Server Management Studio中,展開指定的服務(wù)器和數(shù)據(jù)庫,選擇并展開“可編程性”“存儲過程”節(jié)點,選擇要修改的存儲過程,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“修改”命令,打開修改存儲過程的窗口,在該窗口中可以直接修改定義該存儲過程的T-SQL語句,然后單擊“執(zhí)行”按鈕,執(zhí)行該存儲過程的修改。4. 重命名和刪

9、除存儲過程(1)重命名存儲過程修改存儲過程的名稱可以使用系統(tǒng)存儲過程sp_rename,其語法格式如下: sp_renameobjname=object_name,object_type通過SQL Server Management Studio也可以修改存儲過程的名稱,在SQL Server Management Studio中,在要操作的存儲過程名稱上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“重命名”命令,當(dāng)存儲過程名稱變成可輸入狀態(tài)時,直接修改該存儲過程的名稱即可。(2)刪除存儲過程 刪除存儲過程可以使用T-SQL語句中的DROP命令,DROP命令可以將一個或多個存儲過程從當(dāng)前數(shù)據(jù)庫中刪除,

10、其語法過程如下: DROP PROCEDURE procedure_namen另外,通過SQL Server Management Studio也可以很方便地刪除存儲過程。在SQL Server Management Studio中,在要刪除的存儲過程上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“刪除”命令,打開“刪除對象”對話框,選中該存儲過程,然后刪除即可。四、結(jié)果分析1.在使用Transact-SQL語言編程的過程中,可以將某些需要多次調(diào)用的實現(xiàn)某個特定任務(wù)的代碼段編寫成一個過程,將其保存在數(shù)據(jù)庫中,并由SQL Server服務(wù)器通過過程名來調(diào)用它們,這些過程就叫做存儲過程。2.存儲過程在創(chuàng)建時就被編譯和優(yōu)化,調(diào)用一次以后,相關(guān)信息就保存在內(nèi)存中,下次調(diào)用時可以直接執(zhí)行。3.存儲過程中可以包含一條或多條Transact-SQL語句,存儲過程可以接受輸入?yún)?shù)并可以返回輸出值。在一個存儲過程中可以調(diào)用另一個存

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論