sp_dropmessage (Transact-SQL)
從 SQL Server Database Engine 執行個體中,卸除指定的使用者自訂錯誤訊息。您可以利用 [sys.messages] 目錄檢視來檢視使用者自訂訊息。
語法
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