最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server 存儲(chǔ)過程解析

 更新時(shí)間:2009年03月03日 00:09:49   作者:  
微軟的SQL Server的存儲(chǔ)過程機(jī)制能夠通過對(duì)Transact-SQL語(yǔ)句進(jìn)行組合而大大地簡(jiǎn)化了數(shù)據(jù)庫(kù)開發(fā)過程。
存儲(chǔ)過程功能的優(yōu)點(diǎn)

  為什么要使用存儲(chǔ)過程?以下是存儲(chǔ)過程技術(shù)的幾大主要優(yōu)點(diǎn):

  1.   預(yù)編譯執(zhí)行程序。SQL Server只需要對(duì)每一個(gè)存儲(chǔ)過程進(jìn)行一次編譯,然后就可以重復(fù)使用執(zhí)行計(jì)劃。這個(gè)特點(diǎn)通過重復(fù)調(diào)用存儲(chǔ)程序極大地提高了程序的性能。
  2.   縮短客戶端/服務(wù)器之間的信息傳輸量。如果你的工作環(huán)境帶寬有限,那么存儲(chǔ)過程技術(shù)肯定能夠滿足你,因?yàn)樗軌虬研枰獋鬏數(shù)拈L(zhǎng)的SQL查詢縮短成一行。
  3.   有效重復(fù)使用代碼和編程。存儲(chǔ)過程可以為多個(gè)用戶所使用,也可以用于多個(gè)客戶程序。這樣可以減少程序開發(fā)周期的時(shí)間。
  4.   增強(qiáng)安全性控制。可以允許用戶單獨(dú)執(zhí)行存儲(chǔ)過程,而不給于其訪問表格的權(quán)限。

  結(jié)構(gòu)

  存儲(chǔ)過程的結(jié)構(gòu)跟其他編程語(yǔ)言非常相似。存儲(chǔ)過程接受輸入?yún)?shù)形式的數(shù)據(jù)。這些輸入?yún)?shù)在執(zhí)行系列語(yǔ)句的時(shí)候被運(yùn)用并生成結(jié)果。結(jié)果在通過使用記錄集、輸出參數(shù)和返回代碼返回。聽起來似乎很復(fù)雜,實(shí)際上存儲(chǔ)程序非常簡(jiǎn)單。

  實(shí)例

  假設(shè)我們有如下名為Inventory的表格,表格里的數(shù)據(jù)需要實(shí)時(shí)更新,倉(cāng)庫(kù)經(jīng)理會(huì)不停地檢查倉(cāng)庫(kù)里的貨存數(shù)量和可供發(fā)貨的貨存數(shù)量。以前,每一個(gè)地區(qū)的倉(cāng)庫(kù)經(jīng)理都會(huì)進(jìn)行如下查詢:

 

以下是引用片段:
  SELECT Product, Quantity
  FROM Inventory
  WHERE Warehouse = 'FL'

  這樣的查詢使SQL Server性能效率非常低下。每次倉(cāng)庫(kù)經(jīng)理執(zhí)行該查詢,數(shù)據(jù)庫(kù)服務(wù)器都不得不重新對(duì)其進(jìn)行編譯然后重新開始執(zhí)行。這樣的查詢還要求倉(cāng)庫(kù)經(jīng)理具備SQL方面的知識(shí),并且擁有訪問表格數(shù)據(jù)的權(quán)限。

  我們可以通過使用存儲(chǔ)過程來簡(jiǎn)化這個(gè)查詢過程。首先創(chuàng)建一個(gè)名為 sp_GetInventory的過程,能夠獲取一個(gè)已有倉(cāng)庫(kù)的貨存水平。下面是創(chuàng)建該程序的SQL代碼:

 

以下是引用片段:
  CREATE PROCEDURE sp_GetInventory
  @location varchar(10)
  AS
  SELECT Product, Quantity
  FROM Inventory
  WHERE Warehouse = @location

  A地區(qū)的倉(cāng)庫(kù)經(jīng)理可以執(zhí)行下面的命令來獲得貨存水平:

 

以下是引用片段:
  EXECUTE sp_GetInventory 'FL'

  B地區(qū)的倉(cāng)庫(kù)經(jīng)理可以使用同樣的存儲(chǔ)過程來訪問該地區(qū)的貨存信息。

 

以下是引用片段:
  EXECUTE sp_GetInventory 'NY'

  當(dāng)然,這只是一個(gè)很簡(jiǎn)單的例子,但是可以看出來存儲(chǔ)過程的好處。倉(cāng)庫(kù)經(jīng)理不一定要懂得SQL或者存儲(chǔ)過程內(nèi)在的工作原理。從性能的角度看的話,存儲(chǔ)過程無(wú)疑大大地提高了工作的效率。SQL Server只需創(chuàng)建執(zhí)行計(jì)劃一次,然后就可以重復(fù)使用存儲(chǔ)過程,只需要在每次執(zhí)行時(shí)輸入適當(dāng)?shù)膮?shù)就可以了。

  貨存表格:   
ID
Product
Warehouse
Quantity
142
Green beans
NY
100
214
Peas
FL
200
825
Corn
NY
140
512
Lima beans
NY
180
491
Tomatoes
FL
80
379
Watermelon
FL
85

相關(guān)文章

最新評(píng)論

武冈市| 兴城市| 安塞县| 靖州| 金平| 灵山县| 贵定县| 鄢陵县| 西丰县| 松潘县| 绥中县| 揭阳市| 安泽县| 密山市| 中宁县| 棋牌| 北票市| 澄迈县| 岗巴县| 绥中县| 抚州市| 彭泽县| 密山市| 专栏| 西宁市| 江阴市| 白城市| 高唐县| 象山县| 大连市| 江孜县| 杨浦区| 天气| 南江县| 博爱县| 长治县| 龙里县| 永丰县| 城固县| 云霄县| 庄浪县|