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 ;
См. также
Справочник
sp_processmail (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
xp_deletemail (Transact-SQL)
xp_readmail (Transact-SQL)
xp_stopmail (Transact-SQL)
xp_startmail (Transact-SQL)
xp_stopmail (Transact-SQL)