sp_dropmessage (Transact-SQL)
適用対象: SQL サーバー
指定したユーザー定義エラー メッセージを SQL Server データベース エンジンのインスタンスから削除します。 ユーザー定義メッセージは、 sys.messages
カタログ ビューを使用して表示できます。
構文
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 固定サーバー ロールのメンバーシップが必要です。
解説
@langにall
が指定されていない限り、メッセージのローカライズされたバージョンはすべて削除してから、米国英語バージョンのメッセージを削除する必要があります。
例
A. ユーザー定義メッセージを削除する
次の例では、ユーザー定義のメッセージ番号 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
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