sqlserver2005存儲過程

sqlserver2005存儲過程

ID:34725880

大?。?6.17 KB

頁數:4頁

時間:2019-03-10

sqlserver2005存儲過程_第1頁
sqlserver2005存儲過程_第2頁
sqlserver2005存儲過程_第3頁
sqlserver2005存儲過程_第4頁
資源描述:

《sqlserver2005存儲過程》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

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

2、encryption

3、encrypton,recomption}][forenplication]AsSql_statement[,…n]參數:整個語法中只有兩個參數是必須的:procedure_name存儲過程

4、名稱和sql_statement存儲過程內容。procedure_name:存儲過程名稱。;number:對存儲過程分組,“;數字”表示是一組存儲過程,便于批量操作。@parameter:參數名,命名必須用@開頭;局部變量以@開頭,全局變量以@@開頭。data_type:參數類型。varying:指定作為輸出參數的結果集。Default:參數的默認值。Output:表示為輸出參數,返回值給execute/exe。[with{recompile

5、encryption

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

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

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

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

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

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

當前文檔最多預覽五頁,下載文檔查看全文

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

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