sp_dropmessage (Transact-SQL)
Quita un mensaje de error definido por el usuario especificado de una instancia del SQL Server Database Engine (Motor de base de datos de SQL Server). Los mensajes definidos por el usuario se pueden ver con la vista de catálogo sys.messages.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_dropmessage [ @msgnum = ] message_number
[ , [ @lang = ] 'language' ]
Argumentos
- [ @msgnum = ] message_number
Es el número del mensaje que se va a quitar. message_number debe ser un mensaje definido por el usuario con un número de mensaje superior a 50000. message_number es de tipo int y su valor predeterminado es NULL.
- [ @lang = ] 'language'
Es el idioma del mensaje que se va a quitar. Si se especifica all, se quitan las versiones en todos los idiomas de message_number. language es de tipo sysname y su valor predeterminado es NULL.
Conjuntos de resultados
Ninguno.
Notas
A menos que se especifique all para language, todas las versiones traducidas de un mensaje se deben quitar para poder quitar a su vez la versión en inglés (EE.UU.) del mensaje.
Permisos
Requiere la pertenencia a las funciones fijas de servidor sysadmin y serveradmin.
Valores de código de retorno
0 (correcto) o 1 (error)
Ejemplos
A. Quitar un mensaje definido por el usuario
En el ejemplo siguiente se quita un mensaje definido por el usuario, el número 50001
, de sys.messages.
USE master;
GO
EXEC sp_dropmessage 50001;
B. Quitar un mensaje definido por el usuario que incluya una versión traducida
En el ejemplo siguiente se quita un mensaje definido por el usuario (número 60000
) que incluye una versión traducida del mensaje.
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
C. Quitar una versión traducida de un mensaje definido por el usuario
En el ejemplo siguiente se quita una versión traducida de un mensaje definido por el usuario, el número 60000
, sin quitar todo el mensaje.
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
Vea también
Referencia
RAISERROR (Transact-SQL)
sp_addmessage (Transact-SQL)
sp_altermessage (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
sys.messages (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)