xp_findnextmsg (Transact-SQL)
Принимает идентификатор сообщения в качестве входных данных и выдает идентификатор сообщения в качестве выходных данных. Обработка почты в почтовом ящике Microsoft SQL Server осуществляется с помощью хранимых процедур xp_findnextmsg и sp_processmail.
Примечание |
---|
В будущей версии 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 ;