熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

SQLSERVER存儲過程及調用詳解

2013-11-13 10:44:56  來源: .NET編程 

  使用SQLSERVER存儲過程可以很大的提高程序運行速度簡化編程維護難度現已得到廣泛應用
  存儲過程其實就是保存起來的可以接受和返回用戶提供的參數的 TransactSQL 語句的集合
  可以創建一個過程供永久使用或在一個會話中臨時使用(局部臨時過程)或在所有會話中臨時使用(全局臨時過程)
  也可以創建在 Microsoft SQL Server 啟動時自動運行的存儲過程

  要使用存儲過程首先我們必需熟悉一些基本的TSQL語句因為存儲過程是由於一組TSQL語句構成的並且我們需要了解一些關於函數過程的概念因為我們需要在應用程序中調用存儲過程就像我們調用應用程序的函數一樣不過調用的方法有些不同
  下面我們來看一下存儲過程的建立和使用方法

創建存儲過程

  和數據表一樣在使用之前我們需要創建存儲過程它的簡明語法是

引用:
Create PROC 存儲過程名稱
    [參數列表(多個以“”分隔)]
AS
SQL 語句



引用:
Create PROC upGetUserName
@intUserId        INT
@ostrUserName NVARCHAR() OUTPUT                 要輸出的參數
AS
BEGIN
         將uName的值賦給 @ostrUserName 變量即要輸出的參數
        Select @ostrUserName=uName FROM uUser Where uId=@intUserId
END

  其中 Create PROC 語句(完整語句為Create PROCEDURE)的意思就是告訴SQL SERVER現在需要建立一個存儲過程upGetUserName 就是存儲過程名稱@intUserId 和 @ostrUserName 分別是該存儲過程的兩個參數注意在SQL SERVER中所有用戶定義的變量都以“@”開頭OUTPUT關鍵字表示這個參數是用來輸出的AS之後就是存儲過程內容了只要將以上代碼在“查詢分析器”裡執行一次SQL SERVER就會在當前數據庫中創建一個名為“upGetUserName”的存儲過程你可以打開“企業管理器”選擇當前操作的數據庫然後在左邊的樹型列表中選擇“存儲過程”此時就可以在右邊的列表中看到你剛剛創建的存儲過程了(如果沒有刷新一下即可)

存儲過程的調用

  之前我們已經創建了一個名為“upGetUserName”的存儲過程從字面理解該存儲過程的功能是用來取得某一個用戶的名稱存儲過程建立好了接下來就是要在應用程序裡調用了下面看一下在ASP程序裡的調用

引用:
Dim adoComm
’// 創建一個對象我們用來調用存儲過程
Set adoComm = CreateObject("ADODBCommand")
With adoComm
        ’// 設置連接設 adoConn 為已經連接的 ADODBConnection 對象
        ActiveConnection = adoConn
        ’// 類型為存儲過程adCmdStoredProc = 
        CommandType = 
        ’// 存儲過程名稱
        CommandText = "upGetUserName"
        ’// 設置用戶編號
        ParametersItem("@intUserId")Value = 
        ’// 執行存儲過程
        Execute
        
        ’// 取得從存儲過程返回的用戶名稱
        ResponseWrite "用戶名" & ParametersItem("@ostrUserName")Value
End With
’// 釋放對象
Set adoComm = Nothing

  通過以上兩步我們已經可以創建和使用簡單的存儲過程了下面我們來看一個稍微復雜點的存儲過程以進一步了解存儲過程的應用
 


From:http://tw.wingwit.com/Article/program/net/201311/14427.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.