xp_findnextmsg (Transact-SQL)
接受輸入的訊息識別碼,傳回輸出的訊息識別碼。xp_findnextmsg 用來搭配 sp_processmail,以處理 MicrosoftSQL Server 收件匣中的郵件。
[!附註]
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
語法
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 ;