次の方法で共有


SR0011: オブジェクト名に特殊文字を使用することは避けてください

規則 ID

SR0011

分類

Microsoft.Naming

互換性に影響する変更点

あり

原因

1 つ以上のデータベース オブジェクトの名前に 1 つ以上の特殊文字が含まれています。

規則の説明

次の表に記載されている文字のうちいずれかを使用してデータベース オブジェクトに名前を付けた場合、そのオブジェクトを参照することだけでなく、そのオブジェクトの名前を含むコードを読み取ることも難しくなります。

文字

説明

空白文字

[

左角かっこ

]

右角かっこ

'

単一引用符

"

二重引用符

違反の修正方法

この問題を解決するには、オブジェクト名からすべての特殊文字を削除する必要があります。 そのオブジェクトがデータベース プロジェクト内の他の場所 (データベース単体テストなど) から参照されている場合、データベース リファクタリングを使用して参照を更新する必要があります。 詳細については、「データベース オブジェクトへのすべての参照の名前変更」を参照してください。

警告を抑制する状況

1 つ以上の他のアプリケーションがそのデータベース オブジェクトを参照しており、そのアプリケーションを変更できない場合は、この警告を抑制する必要がある場合があります。

使用例

最初の例では、名前に特殊文字が使用されている列がテーブルに含まれています。 2 番目の例では、列名に特殊文字は使用されていません。

CREATE TABLE [dbo].[TableWithProblemColumn]
( 
[ID] INT NOT NULL IDENTITY(0, 1), 
[Small'String] VARCHAR(10)
)
ON [PRIMARY]

CREATE TABLE [dbo].[FixedTable]
( 
[ID] INT NOT NULL IDENTITY(0, 1), 
[SmallString] VARCHAR(10)
)
ON [PRIMARY]

関連規則

SR0012: 型名に予約語を使用することは避けてください。

SR0016: ストアド プロシージャのプレフィックスに sp_ を使用することは避けてください

参照

概念

データベース コードの分析によるコードの品質の向上