Transact-SQL 参考

xp_findnextmsg

接受输入的邮件ID 并返回输出的邮件ID。为了处理 Microsoft® SQL Server™ 收件箱中的邮件,请一起使用 xp_findnextmsgsp_processmail

语法

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

参数

[@type =] type

是基于以下 MAPI 邮件定义的输入邮件类型:

IP[M | C].Vendorname.subclass

如果 type 为 NULL,则以 IPM 打头的邮件类型出现在邮件客户程序的收件箱中,可通过 xp_findnextmsg 查找或阅读。以 IPC 打头的邮件类型不出现在邮件客户程序的收件箱中,并且必须设置 type 参数才能查找或阅读。默认设置为 NULL。

[@unread_only =] 'unread_value'

是否仅考虑未读 (true) 邮件。默认值为 FALSE,即考虑所有邮件。

[@msg_id =] 'message_number'

是输入和输出参数,输入时指定邮件字符串,输出时指定下一封邮件的字符串。

OUTPUT

如果指定,message_number 将置于输出参数中。如果未指定,message_number 将作为单列、单行结果集返回。

返回代码值

0(成功)或 1(失败)

结果集

当所传递的邮件ID 有效时,xp_findnextmsg 返回下列结果集:

The command(s) completed successfully.
注释

除无效参数外的任何失败均记入 Microsoft Windows NT® 应用程序日志。

权限

xp_findnestmsg 的执行权限默认授予 master 数据库中的 db_owner 固定数据库角色成员以及 sysadmin 固定服务器角色成员,但可以授予其他用户。

示例

下例在搜索下一个邮件 ID(仅搜索未读邮件)时检索状态。xp_findnextmsg 返回的值将置于局部变量 @message_id 中。

DECLARE @status int, @message_id varchar(255)
-- SET @status = value would be here.
-- SET @message_id = value would be here.
EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUT

请参见

sp_processmail

系统存储过程(SQL 邮件扩展过程)

xp_deletemail

xp_readmail

xp_sendmail

xp_startmail

xp_stopmail