亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關軟件
    >sp_describe_cursor 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    報告服務器游標的特性。



    語法


    sp_describe_cursor [ @cursor_return = ] output_cursor_variable OUTPUT

        { [ , [ @cursor_source = ] N'local'

            ,
    [ @cursor_identity = ] N'local_cursor_name' ]

                | [ , [ @cursor_source = ] N'global'

            ,
    [ @cursor_identity = ] N'global_cursor_name' ]

                | [ , [ @cursor_source = ] N'variable'

            ,
    [ @cursor_identity = ] N'input_cursor_variable' ]

        }



    參數


    [@cursor_return =] output_cursor_variable OUTPUT



    聲明游標變量的名稱,該變量接收游標輸出。output_cursor_variable 的數據類型為 cursor,沒有默認值。調用 sp_describe_cursor 時,不能與任何游標相關聯。返回的游標是可滾動的動態(tài)只讀游標。



    [@cursor_source =] { N'local' | N'global' | N'variable' }



    指定是使用本地游標的名稱、全局游標的名稱、還是游標變量的名稱來指定當前正在對其進行報告的游標。參數是 nvarchar(30)。



    [@cursor_identity =] N'local_cursor_name']



    由具有 LOCAL 關鍵字或默認設置為 LOCAL 的 DECLARE CURSOR 語句創(chuàng)建的游標的名稱。local_cursor_name 的數據類型為 nvarchar(128)。



    [@cursor_identity =] N'global_cursor_name']



    由具有 GLOBAL 關鍵字或默認設置為 GLOBAL 的 DECLARE CURSOR 語句創(chuàng)建的游標的名稱。也可以是由 ODBC 應用程序打開然后通過調用 SQLSetCursorName 對游標命名的 API 服務器游標的名稱。global_cursor_name 的數據類型為 nvarchar(128)。



    [@cursor_identity =] N'input_cursor_variable']



    與開放游標相關聯的游標變量的名稱。input_cursor_variable 的數據類型為 nvarchar(128)



    返回代碼值




    返回的游標


    sp_describe_cursor 將結果集封裝在 Transact-SQL cursor 輸出參數中。這樣,Transact-SQL 批處理、存儲過程和觸發(fā)器就得以按一次一行的方式處理輸出。它還意味著無法直接從數據庫 API 函數直接調用該過程。cursor 輸出參數必須綁定到程序變量,但是數據庫 API 不支持綁定 cursor 參數或變量。



    下面是 sp_describe_cursor 返回的游標格式。游標格式與 sp_cursor_list 返回的格式相同。






























































































    列名數據類型描述
    reference_namesysname用來引用游標的名稱。如果通過 DECLARE CURSOR 語句中給定的名稱引用游標,則引用名稱與游標名稱相同。如果通過變量引用游標,則引用名稱即為游標變量的名稱。
    cursor_namesysname來自 DECLARE CURSOR 語句的游標名稱。如果游標是通過將游標變量設置為游標而創(chuàng)建的,則游標名稱為系統生成的名稱。
    cursor_scopetinyint1 = LOCAL

    2 = GLOBAL
    statusint與 CURSOR_STATUS 系統函數報告的值相同:

    1 = 游標名稱或變量引用的游標打開。如果游標為不感知游標、靜態(tài)游標或鍵集游標,則至少包含一行。如果游標是動態(tài)游標,則結果集包含零行或更多的行。

    0 = 游標名稱或變量引用的游標打開但是沒有行。動態(tài)游標不會返回此值。

    -1 = 游標名稱或變量引用的游標關閉。

    -2 = 只適用于游標變量。沒有給變量指派游標。很可能 OUTPUT 參數給變量指派了游標,但存儲過程在返回前關閉了此游標。

    -3 = 指定名稱的游標或游標變量不存在,或尚未給游標變量分配游標。


    modeltinyint1 = 不感知(或靜態(tài))

    2 = 鍵集

    3 = 動態(tài)

    4 = 快進
    concurrencytinyint1 = 只讀

    2 = 滾動鎖

    3 = 樂觀
    scrollabletinyint0 = 只進

    1 = 可滾動
    open_statustinyint0 = 關閉

    1 = 打開
    cursor_rowsdecimal(10,0)結果集中合格的行數。有關更多信息,請參見 @@CURSOR_ROWS。
    fetch_statussmallint此游標上次提取的狀態(tài)。有關更多信息,請參見 @@FETCH_STATUS。

    0 = 提取成功。

    -1 = 提取失敗或超過游標的界限。

    -2 = 請求的行丟失。

    -9 = 游標上沒有提取。


    column_countsmallint游標結果集中的列數。
    row_countdecimal(10,0)上次對游標的操作所影響的行數。有關更多信息,請參見 @@ROWCOUNT。
    last_operationtinyint上次對游標執(zhí)行的操作:

    0 = 沒有對游標執(zhí)行操作。

    1 = OPEN

    2 = FETCH

    3 = INSERT

    4 = UPDATE

    5 = DELETE

    6 = CLOSE

    7 = DEALLOCATE


    cursor_handleint在服務器范圍內游標的唯一值。



    注釋


    sp_describe_cursor 描述服務器游標的全局特性,比如滾動和更新的能力。使用 sp_describe_cursor_columns 描述由游標返回的結果集的特性。使用 sp_describe_cursor_tables 報告游標所引用的基表。使用 sp_cursor_list 可獲得連接時可視的 Transact-SQL 服務器游標的報告。



    DECLARE CURSOR 語句可能會請求一個 Microsoft® SQL Server™ 使用 DECLARE CURSOR 中包含的 SELECT 語句不能支持的游標類型。SQL Server 隱式地將游標轉換成支持 SELECT 語句的類型。如果在 DECLARE CURSOR 語句中指定 TYPE_WARNING,SQL Server 向應用程序發(fā)送一條轉換完畢的消息。然后就可以調用 sp_describe_cursor 確定已實現的游標類型。



    權限


    執(zhí)行權限默認賦予 public 角色。



    示例


    下面的示例打開一個全局游標,并使用 sp_describe_cursor 報告游標的特性。



    USE Northwind

    GO
    -- Declare and open a global cursor.
    DECLARE abc CURSOR STATIC FOR
    SELECT LastName
    FROM Employees

    OPEN abc

    -- Declare a cursor variable to hold the cursor output variable
    -- from sp_describe_cursor.
    DECLARE @Report CURSOR

    -- Execute sp_describe_cursor into the cursor variable.
    EXEC master.dbo.sp_describe_cursor @cursor_return = @Report OUTPUT,
        @cursor_source = N'global', @cursor_identity = N'abc'

    -- Fetch all the rows from the sp_describe_cursor output cursor.
    FETCH NEXT from @Report
    WHILE (@@FETCH_STATUS <> -1)
    BEGIN
      FETCH NEXT from @Report
    END

    -- Close and deallocate the cursor from sp_describe_cursor.
    CLOSE @Report
    DEALLOCATE @Report
    GO

    -- Close and deallocate the original cursor.
    CLOSE abc
    DEALLOCATE abc
    GO
    相關文章
    本頁查看次數: