共用方式為


sp_dropmessage (Transact-SQL)

從 SQL Server Database Engine 執行個體中,卸除指定的使用者自訂錯誤訊息。 您可以利用 sys.messages 目錄檢視來檢視使用者自訂訊息。

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

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

引數

  • [ @msgnum = ] message_number
    這是要卸除的訊息編號。 message_number 必須是訊息編號大於 50000 的使用者自訂訊息。 message_number 是 int,預設值是 NULL。

  • [ @lang = ] 'language'
    這是要卸除之訊息的語言。 如果指定 all,便會卸除 message_number 的所有語言版本。 language 是 sysname,預設值是 NULL。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

無。

權限

需要系統管理員 (sysadmin)伺服器管理員 (serveradmin) 固定伺服器角色的成員資格。

備註

除非是為 language 指定 all,否則,您必須先卸除訊息的所有當地語系化版本, 然後才能卸除訊息的 U.S. English 版本。

範例

A.卸除使用者自訂訊息

下列範例會從 [sys.messages] 卸除使用者自訂訊息 (編號 50001)。

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

C.卸除使用者自訂訊息的當地語系化版本

下列範例會卸除使用者自訂訊息 (編號 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

請參閱

參考

RAISERROR (Transact-SQL)

sp_addmessage (Transact-SQL)

sp_altermessage (Transact-SQL)

FORMATMESSAGE (Transact-SQL)

sys.messages (Transact-SQL)

系統預存程序 (Transact-SQL)