存儲(chǔ)過(guò)程的概念_第1頁(yè)
已閱讀1頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、存儲(chǔ)過(guò)程的概念SQLServer提供了一種方法,它可以將一些固定的操作集中起來(lái)由SQLServer數(shù)據(jù)庫(kù)服務(wù)器來(lái)完成,以實(shí)現(xiàn)某個(gè)任務(wù),這種方法就是存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程是SQL語(yǔ)句和可選控制流語(yǔ)句的預(yù)編譯集合,存儲(chǔ)在數(shù)據(jù)庫(kù)中,可由應(yīng)用程序通過(guò)一個(gè)調(diào)用執(zhí)行,而且允許用戶(hù)聲明變量、有條件執(zhí)行以及其他強(qiáng)大的編程功能。在SQLServer中存儲(chǔ)過(guò)程分為兩類(lèi):即系統(tǒng)提供的存儲(chǔ)過(guò)程和用戶(hù)自定義的存儲(chǔ)過(guò)程??梢猿鲇谌魏问褂肧QL語(yǔ)句的目的來(lái)使用存儲(chǔ)過(guò)程,

2、它具有以下優(yōu)點(diǎn):可以在單個(gè)存儲(chǔ)過(guò)程中執(zhí)行一系列SQL語(yǔ)句??梢詮淖约旱拇鎯?chǔ)過(guò)程內(nèi)引用其他存儲(chǔ)過(guò)程,這可以簡(jiǎn)化一系列復(fù)雜語(yǔ)句。存儲(chǔ)過(guò)程在創(chuàng)建時(shí)即在服務(wù)器上進(jìn)行編譯,所以執(zhí)行起來(lái)比單個(gè)SQL語(yǔ)句快,而且減少網(wǎng)絡(luò)通信的負(fù)擔(dān)。安全性更高。創(chuàng)建存儲(chǔ)過(guò)程在SQLServer中,可以使用三種方法創(chuàng)建存儲(chǔ)過(guò)程:①使用創(chuàng)建存儲(chǔ)過(guò)程向?qū)?chuàng)建存儲(chǔ)過(guò)程。②利用SQLServer企業(yè)管理器創(chuàng)建存儲(chǔ)過(guò)程。③使用TransactSQL語(yǔ)句中的CREATEPROCED

3、URE命令創(chuàng)建存儲(chǔ)過(guò)程。下面介紹使用TransactSQL語(yǔ)句中的CREATEPROCEDURE命令創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程前,應(yīng)該考慮下列幾個(gè)事項(xiàng):①不能將CREATEPROCEDURE語(yǔ)句與其它SQL語(yǔ)句組合到單個(gè)批處理中。②存儲(chǔ)過(guò)程可以嵌套使用,嵌套的最大深度不能超過(guò)32層。③創(chuàng)建存儲(chǔ)過(guò)程的權(quán)限默認(rèn)屬于數(shù)據(jù)庫(kù)所有者,該所有者可將此權(quán)限授予其他用戶(hù)。④存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)對(duì)象,其名稱(chēng)必須遵守標(biāo)識(shí)符規(guī)則。⑤只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程。

4、⑥一個(gè)存儲(chǔ)過(guò)程的最大尺寸為128M。使用CREATEPROCEDURE創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)法形式如下:QUOTE:CREATEPROC[EDURE]procedure_name[number][number][@parameterdata_type[VARYING][=default][OUTPUT]][...n]WITHRECOMPILE|ENCRYPTION|RECOMPILEENCRYPTION][FREPLICATION]ASsql

5、_statement[...n]下面的例子使用了默認(rèn)參數(shù)USENthwindGOCREATEPROCEDURE_Products_1(@SupplierID_2int@CategyID_3int@ProductName_1nvar(40)=無(wú))ASINTOProducts(ProductNameSupplierIDCategyID)VALUES(@ProductName_1@SupplierID_2@CategyID_3)GOexec_

6、Products_111fromProductswhereSupplierID=1CategyID=1GO下面的例子使用了返回參數(shù)USENthwindGOCREATEPROCEDUREquery_products(@SupplierID_1int@ProductName_2nvar(40)output)AS@ProductName_2=ProductNamefromproductswhereSupplierID=@SupplierID_

7、1執(zhí)行該存儲(chǔ)過(guò)程來(lái)查詢(xún)SupplierID為1的產(chǎn)品名:declare@productnvar(40)execquery_products1@productoutput產(chǎn)品名=@productgo查看存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程被創(chuàng)建之后,它的名字就存儲(chǔ)在系統(tǒng)表sysobjects中,它的源代碼存放在系統(tǒng)表syscomments中。可以使用使用企業(yè)管理器或系統(tǒng)存儲(chǔ)過(guò)程來(lái)查看用戶(hù)創(chuàng)建的存儲(chǔ)過(guò)程。使用企業(yè)管理器查看用戶(hù)創(chuàng)建的存儲(chǔ)過(guò)程在企業(yè)管理器中,打開(kāi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論