sp_dropmessage (Transact-SQL)

Elimina un messaggio di errore definito dall'utente specificato da un'istanza di Motore di database di SQL Server. Per visualizzare i messaggi definiti dall'utente, è possibile utilizzare la vista del catalogo sys.messages.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_dropmessage [ @msgnum = ] message_number
        [ , [ @lang = ] 'language' ]

Argomenti

  • [ @msgnum = ] message_number
    Numero del messaggio da eliminare. message_number deve essere un messaggio definito dall'utente con numero maggiore di 50000. message_number è di tipo int e il valore predefinito è NULL.
  • [ @lang = ] 'language'
    Lingua del messaggio da eliminare. Se si specifica all, vengono eliminate le versioni di message_number in tutte le lingue. language è di tipo sysname e il valore predefinito è NULL.

Set di risultati

Nessuno.

Osservazioni

A meno che non si specifichi all per l'argomento language, è necessario eliminare tutte le versioni localizzate di un messaggio prima di poter eliminare la versione inglese (USA).

Autorizzazioni

È richiesta l'appartenenza ai ruoli predefiniti del server sysadmin e serveradmin.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

A. Eliminazione di un messaggio definito dall'utente

Nell'esempio seguente viene eliminato un messaggio definito dall'utente, con numero 50001, da sys.messages.

USE master;
GO
EXEC sp_dropmessage 50001;

B. Eliminazione di un messaggio definito dall'utente che include una versione localizzata

Nell'esempio seguente viene eliminato un messaggio definito dall'utente, con numero 60000, in cui è inclusa una versione localizzata del messaggio.

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. Eliminazione di una versione localizzata di un messaggio definito dall'utente

Nell'esempio seguente viene eliminata una versione localizzata di un messaggio definito dall'utente, con numero 60000, senza eliminare l'intero messaggio.

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

Vedere anche

Riferimento

RAISERROR (Transact-SQL)
sp_addmessage (Transact-SQL)
sp_altermessage (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
sys.messages (Transact-SQL)
Stored procedure di sistema (Transact-SQL)

Altre risorse

Utilizzo di RAISERROR

Guida in linea e informazioni

Assistenza su SQL Server 2005