程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> SQLSERVER存儲過程及調用詳解

SQLSERVER存儲過程及調用詳解

編輯:關於ASP編程

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

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

    一、創建存儲過程

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

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

    例:

    引用:
    Create PROC upGetUserName
    @intUserId        INT,
    @ostrUserName NVARCHAR(20) 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("ADODB.Command")
    With adoComm
            ’// 設置連接,設 adoConn 為已經連接的 ADODB.Connection 對象
            .ActiveConnection = adoConn
            ’// 類型為存儲過程,adCmdStoredProc = 4
            .CommandType = 4
            ’// 存儲過程名稱
            .CommandText = "upGetUserName"
            ’// 設置用戶編號
            .Parameters.Item("@intUserId").Value = 1
            ’// 執行存儲過程
            .Execute
            
            ’// 取得從存儲過程返回的用戶名稱
            Response.Write "用戶名:" & .Parameters.Item("@ostrUserName").Value
    End With
    ’// 釋放對象
    Set adoComm = Nothing

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

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved