Share via


xp_findnextmsg (Transact-SQL)

入力メッセージ ID を受け取り、出力メッセージ ID を返します。xp_findnextmsgsp_processmail と共に使用して、Microsoft SQL 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 の場合、既定では、受信トレイに最後に配信されたメッセージの ID が出力 @msg_id となります。message_id のデータ型は varchar(255) で、既定値は NULL です。

  • OUTPUT
    指定する場合、message_id は出力パラメータに格納されます。指定しない場合、message_id は単一列、単一行の結果セットとして返されます。

戻り値

0 (成功) または 1 (失敗)

結果セット

xp_findnextmsg では、有効なメッセージ ID が渡された場合にメッセージが返されます。

@msg_id が NULL の場合、xp_findnextmsg を実行すると、次の結果セットが返されます。

列名

データ型

説明

Message ID

varchar(255)

次のメッセージ用のメッセージ ID

説明

無効なパラメータ以外の失敗はすべて、Microsoft Windows のアプリケーション ログに記録されます。

権限

sysadmin 固定サーバー ロールのメンバシップが必要です。EXECUTE 権限は他のユーザーに与えることもできます。ただしセキュリティ上の理由から、このストアド プロシージャの実行権限は、sysadmin 固定サーバー ロールのメンバだけに制限することをお勧めします。

次の例では、後続のメッセージ ID (未読のメッセージのみ) を検索しているときのステータスを取得します。xp_findnextmsg から取得した値は、ローカル変数 @message_id に格納されます。

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

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