xp_findnextmsg (Transact-SQL)
入力メッセージ ID を受け取り、出力メッセージ ID を返します。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 の場合、既定では、受信トレイに最後に配信されたメッセージの 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 ;