Share via


xp_findnextmsg (Transact-SQL)

接受輸入的訊息識別碼,傳回輸出的訊息識別碼。xp_findnextmsg 用來搭配 sp_processmail,以處理 MicrosoftSQL Server 收件匣中的郵件。

[!附註]

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

主題連結圖示Transact-SQL 語法慣例

語法

xp_findnextmsg [ [ @type= ] type ] 
     [ , [ @unread_only= ] 'unread_value' ]
     [ , [ @msg_id= ] 'message_id' [ OUTPUT ] ]

引數

  • [@type=] type
    這是以 MAPI 定義為基礎的輸入訊息類型:

    IP[M|C].Vendorname.subclass

    如果 type 是 NULL,開頭是 IPM 的訊息類型會出現在郵件用戶端的收件匣中,xp_findnextmsg 會尋找或讀取它們。開頭是 IPC 的訊息類型不會出現在郵件用戶端的收件匣中,您必須設定 type 參數來尋找或讀取它們。預設值是 NULL。SQL Mail 支援訊息類型 IPM 和 IPC。

  • [@unread_only=] 'unread_value'
    這是指是否只考慮未讀取 (N'TRUE') 的訊息。預設值是 N'FALSE',表示考慮所有訊息。unread_value 的類型是 nvarchar(5)。

  • [@msg_id=] 'message_id'
    這是一個輸入和輸出參數,用來指定輸入的訊息字串和輸出之下一則訊息的字串。如果輸入的 message_id 是 NULL,依預設,輸出 @msg_id 便是收件匣中最近傳遞之訊息的識別碼。message_id 是 varchar(255),預設值是 NULL。

  • OUTPUT
    當指定這個項目時,message_id 會放在輸出參數中。當沒有指定這個項目時,message_id 會以單一資料行、單一資料列的結果集傳回。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

當傳遞有效的訊息識別碼時,xp_findnextmsg 會傳回一則訊息。

@msg_id 是 NULL 時,xp_findnextmsg 會傳回下列結果集。

資料行名稱

資料類型

描述

Message ID

varchar(255)

下一則訊息的訊息識別碼。

備註

除了無效參數,任何失敗都會記錄到 Microsoft Windows 應用程式記錄檔中。

權限

需要系統管理員 (sysadmin) 固定伺服器角色中的成員資格,但是 EXECUTE 權限可以授與其他使用者。不過,基於安全性的考量,建議您將這個預存程序的權限限制在系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

下列範例會在搜尋下一個訊息識別碼時擷取狀態 (只適用於未讀取的訊息)。xp_findnextmsg 中的值放在本機變數 @message\_id 中。

DECLARE @status int, @message_id varchar(255) ;

EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUT ;