sqlserver2005存儲(chǔ)過(guò)程

sqlserver2005存儲(chǔ)過(guò)程

ID:34725880

大?。?6.17 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-03-10

sqlserver2005存儲(chǔ)過(guò)程_第1頁(yè)
sqlserver2005存儲(chǔ)過(guò)程_第2頁(yè)
sqlserver2005存儲(chǔ)過(guò)程_第3頁(yè)
sqlserver2005存儲(chǔ)過(guò)程_第4頁(yè)
資源描述:

《sqlserver2005存儲(chǔ)過(guò)程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、儲(chǔ)存過(guò)程的分類(lèi):1.系統(tǒng)存儲(chǔ)過(guò)程,存放在MASTER數(shù)據(jù)庫(kù)中,以SP_前綴。2.用戶自定義存儲(chǔ)過(guò)程。?在SQLSERVER中創(chuàng)建儲(chǔ)存過(guò)程語(yǔ)法:Createproc[edure]procedure_name[;number][{@parameterdata_type}[varying][=default][output]][,…n][with{recompile

2、encryption

3、encrypton,recomption}][forenplication]AsSql_statement[,…n]參數(shù):整個(gè)語(yǔ)法中只有兩個(gè)參數(shù)是必須的:procedure_name存儲(chǔ)過(guò)程

4、名稱(chēng)和sql_statement存儲(chǔ)過(guò)程內(nèi)容。procedure_name:存儲(chǔ)過(guò)程名稱(chēng)。;number:對(duì)存儲(chǔ)過(guò)程分組,“;數(shù)字”表示是一組存儲(chǔ)過(guò)程,便于批量操作。@parameter:參數(shù)名,命名必須用@開(kāi)頭;局部變量以@開(kāi)頭,全局變量以@@開(kāi)頭。data_type:參數(shù)類(lèi)型。varying:指定作為輸出參數(shù)的結(jié)果集。Default:參數(shù)的默認(rèn)值。Output:表示為輸出參數(shù),返回值給execute/exe。[with{recompile

5、encryption

6、encrypton,recomption}][forenplication]:這個(gè)我還不明白。。。As:指

7、定儲(chǔ)存過(guò)程要執(zhí)行的操作。?執(zhí)行存儲(chǔ)過(guò)程語(yǔ)法:Exec[ute]存儲(chǔ)過(guò)程名參數(shù)?實(shí)驗(yàn)一下,看看效果:1.創(chuàng)建一組存儲(chǔ)過(guò)程并且執(zhí)行createprocedureprocedure_a;1asselect*fromstudentgocreateprocedureprocedure_a;2asselect*fromstudentgo執(zhí)行創(chuàng)建效果截圖:圖1創(chuàng)建一組存儲(chǔ)過(guò)程2.執(zhí)行語(yǔ)句:Executeprocedure_a效果截圖:圖2執(zhí)行存儲(chǔ)過(guò)程效果截圖3.刪除語(yǔ)句:Dropprocedureprocedure_a效果截圖圖3刪除一組儲(chǔ)存過(guò)程效果截圖?創(chuàng)建帶輸入?yún)?shù)的存儲(chǔ)過(guò)程:輸

8、入?yún)?shù)是程序?qū)?shù)值傳遞給存儲(chǔ)過(guò)程。創(chuàng)建一個(gè)帶輸入?yún)?shù)的存儲(chǔ)過(guò)程,設(shè)置默認(rèn)值,并且對(duì)輸入?yún)?shù)的值進(jìn)行判斷。Createprocedurepro_1@pro_1_avarchar(20)=nullAsIf@pro_1_aisnullPrint'請(qǐng)輸入需要查詢(xún)的所屬院系:'elseSelectavg(成績(jī))fromstudentwhere所屬院系=@pro_1_a分別執(zhí)行一下:1.execpro_1效果截圖:圖4執(zhí)行不帶輸入?yún)?shù)的語(yǔ)句2.execpro_1‘計(jì)算機(jī)’效果截圖:圖5執(zhí)行帶輸入?yún)?shù)的語(yǔ)句哈哈,verygood,有進(jìn)步啊。?創(chuàng)建帶輸出參數(shù)的存儲(chǔ)過(guò)程:輸出參數(shù)是存儲(chǔ)

9、過(guò)程將返回值傳遞給程序。1.輸出函數(shù)需要指定output作為標(biāo)識(shí)2.聲明變量需要使用declare3.給變量指定值需要使用select來(lái)一個(gè)例子:如果一個(gè)數(shù)大于5,則計(jì)算他的階乘。Createprocedurepro_2/*聲明輸入輸出參數(shù)*/@in_xint,@out_yintoutputas/*聲明標(biāo)量,并且賦值為1*/Declare@xint,@yintSelect@x=1,@y=1/*if語(yǔ)句判斷輸入值是否合法,使用while循環(huán)語(yǔ)句計(jì)算*/If@in_x<=5Print'請(qǐng)輸入大于5的數(shù):'ElseWhile@x<=@in_xBeginSelect@y=@y*

10、@xSelect@x=@x+1EndSelect@out_y=@y1.執(zhí)行以上創(chuàng)建代碼圖6創(chuàng)建帶輸入輸出參數(shù)的存儲(chǔ)過(guò)程截圖2.提供參數(shù)執(zhí)行代碼Declare@out_sumintExecpro_26,@out_sumoutputSelect@out_sumasresult圖7提供輸入輸出參數(shù)執(zhí)行存儲(chǔ)過(guò)程截圖?創(chuàng)建多條語(yǔ)句的存儲(chǔ)過(guò)程:一個(gè)存儲(chǔ)過(guò)程中可以寫(xiě)入多條SQL語(yǔ)句,這些語(yǔ)句將被依次執(zhí)行,可以實(shí)現(xiàn)多個(gè)功能。?刪除存儲(chǔ)過(guò)程delete及判斷對(duì)象是否存在exists:Deleteprocedureprocedure_nameIfexists(select子查詢(xún)):如果ex

11、ists的參數(shù)查詢(xún)?yōu)榉强?,則exists結(jié)果為true,否則為假。存儲(chǔ)過(guò)程作為一個(gè)對(duì)象將被保存在數(shù)據(jù)庫(kù)的sysobjects表中,可以使用語(yǔ)句判斷這個(gè)對(duì)象是否存在:select*fromsysobjectswherename=’procedure_name’?幾個(gè)系統(tǒng)存儲(chǔ)過(guò)程的使用:Sp_name:重命名對(duì)象--Sp_nameobject1,object2Sp_depends:顯示引用對(duì)象—sp_dependsstudentsSp_help:顯示對(duì)象信息Sp_helptext:顯示對(duì)象的源代碼

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。