SR0012: 型名に予約語を使用することは避けてください。
規則 ID |
SR0012 |
分類 |
Microsoft.Naming |
互換性に影響する変更点 |
あり |
原因
ユーザー定義型の名前に予約語が含まれています。
規則の説明
データベース コードの理解が困難になるため、ユーザー定義型の名前に予約語を使用しないでください。 SQL Server では、区切り記号で区切られた識別子を使用する場合にのみ、識別子およびオブジェクト名として予約語を使用できます。 予約済みのキーワードの一覧については、Microsoft Web サイトの「予約済みキーワード (Transact-SQL)」を参照してください。
違反の修正方法
ユーザー定義型またはオブジェクトの名前を変更する必要があります。 データベース リファクタリングを使用すると、データベース プロジェクト全体でその名前のすべてのインスタンスを簡単に置換できます。 詳細については、「データベース オブジェクトへのすべての参照の名前変更」を参照してください。
警告を抑制する状況
変更できないアプリケーションが名前を参照している場合は、この警告の抑制が必要になることがあります。
使用例
最初の例では、この警告を発生させるユーザー定義型の定義を示します。 2 番目の例では、そのユーザー定義型を修正して問題を解決するための 1 つの方法を示します。
-- Potential misuse of a keyword as a type name
CREATE TYPE Alter
FROM varchar(11) NOT NULL ;
-- Corrected type name
CREATE TYPE AlterType
FROM varchar(11) NOT NULL ;
関連規則
SR0011: オブジェクト名に特殊文字を使用することは避けてください
SR0016: ストアド プロシージャのプレフィックスに sp_ を使用することは避けてください