亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL Server 存儲過程解析

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

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

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

  結(jié)構(gòu)

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

  實(shí)例

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

 

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

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

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

 

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

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

 

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

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

 

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

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

  • 向數(shù)據(jù)庫中插入數(shù)據(jù)并返回當(dāng)前插入的行數(shù)及全局變量@@IDENTITY應(yīng)用

    向數(shù)據(jù)庫中插入數(shù)據(jù)并返回當(dāng)前插入的行數(shù)及全局變量@@IDENTITY應(yīng)用

    向數(shù)據(jù)庫中插入數(shù)據(jù)并返回當(dāng)前插入的的行數(shù),這項(xiàng)功能很實(shí)用的可以判斷是否為批量插入主要是利用全局變量@@IDENTITY實(shí)現(xiàn),感興趣的朋友可以了解下啊,希望本文對你鞏固sql知識很有幫助的
    2013-01-01
  • SQL Server誤設(shè)置max server memory的處理方法

    SQL Server誤設(shè)置max server memory的處理方法

    這篇文章主要給大家介紹了關(guān)于SQL Server誤設(shè)置max server memory的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧下
    2019-12-12
  • 清除SQL?Server數(shù)據(jù)庫日志(ldf文件)的方法匯總

    清除SQL?Server數(shù)據(jù)庫日志(ldf文件)的方法匯總

    隨著系統(tǒng)運(yùn)行時間的推移,數(shù)據(jù)庫日志文件會變得越來越大,這時我們需要對日志文件進(jìn)行備份或清理,這篇文章主要介紹了清除SQL?Server數(shù)據(jù)庫日志(ldf文件)的幾種方法,需要的朋友可以參考下
    2022-10-10
  • sql server不存在 sql server拒絕訪問

    sql server不存在 sql server拒絕訪問

    總出現(xiàn)“SQL Server不存在或訪問被拒絕”。1,SQL Server名稱或IP地址拼寫有誤 2,服務(wù)器端網(wǎng)絡(luò)配置有誤3,客戶端網(wǎng)絡(luò)配置有誤
    2007-12-12
  • SQLServer數(shù)據(jù)庫誤操作恢復(fù)的方法

    SQLServer數(shù)據(jù)庫誤操作恢復(fù)的方法

    本文主要介紹了SQLServer數(shù)據(jù)庫誤操作恢復(fù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 最新評論