Поделиться через


xp_findnextmsg (Transact-SQL)

Принимает идентификатор сообщения в качестве входных данных и выдает идентификатор сообщения в качестве выходных данных. Обработка почты в почтовом ящике Microsoft SQL Server осуществляется с помощью хранимых процедур xp_findnextmsg и sp_processmail.

ПримечаниеПримечание

В будущей версии 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 ;