sp_dropmessage (Transact-SQL)
Область применения: SQL Server
Удаляет указанное пользовательское сообщение об ошибке из экземпляра ядро СУБД SQL Server. Определяемые пользователем sys.messages
сообщения можно просматривать с помощью представления каталога.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_dropmessage
[ [ @msgnum = ] msgnum ]
[ , [ @lang = ] N'lang' ]
[ ; ]
Аргументы
[ @msgnum = ] msgnum
Номер сообщения, который нужно удалить. @msgnum имеет значение int с значением по умолчаниюNULL
. @msgnum должно быть определяемым пользователем сообщением, которое больше 50000
(50 000).
[ @lang = ] N'lang'
Язык сообщения, который нужно удалить. @lang — sysname с значением по умолчаниюNULL
. Если all
задано, удаляются все языковые версии @msgnum .
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Нет.
Разрешения
Требуется членство в предопределенных ролях сервера sysadmin и serveradmin .
Замечания
Если all
для @lang не указано, все локализованные версии сообщения должны быть удалены до удаления версии сообщения на английском языке США.
Примеры
А. Удаление определяемого пользователем сообщения
В следующем примере удаляется определяемое пользователем сообщение, число 50001
, из sys.messages
.
USE master;
GO
EXEC sp_dropmessage 50001;
B. Удаление определяемого пользователем сообщения, включающего локализованную версию
В следующем примере добавляется определяемое пользователем сообщение, число 60000
, включающее локализованную версию, а затем удаляет оба варианта сообщения.
USE master;
GO
-- Create a user-defined message in U.S. English
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'The item named %s already exists in %s.',
@lang = 'us_english';
-- Create a localized version of the same message.
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'L''élément nommé %1! existe déjà dans %2!',
@lang = 'French';
GO
-- This statement will fail as long as the localized version
-- of the message exists.
EXEC sp_dropmessage 60000;
GO
-- This statement will drop the message.
EXEC sp_dropmessage @msgnum = 60000,
@lang = 'all';
GO
В. Удаление локализованной версии определяемого пользователем сообщения
В этом примере удаляется только локализованная версия пользовательского сообщения с номером 60000
, а само сообщение не удаляется.
USE master;
GO
-- Create a user-defined message in U.S. English
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'The item named %s already exists in %s.',
@lang = 'us_english';
-- Create a localized version of the same message.
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'L''élément nommé %1! existe déjà dans %2!',
@lang = 'French';
GO
-- This statement will remove only the localized version of the
-- message.
EXEC sp_dropmessage
@msgnum = 60000,
@lang = 'French';
GO