4

Microsoft SQL Server 2005で単純な SQL クエリを実行してデータベースを作成する際に問題が発生しましたが、その理由がわかりません。

このクエリを実行すると

CREATE DATABASE 4444-virtual2

このエラーが表示されます

「4444」付近の構文が正しくありません。

名前に数値を含むデータベース テーブルを作成する場合、特に指定しなければならないことはありますか? それとも私は何かを忘れていますか?

4

2 に答える 2

11

データベース名は、文字、アンダースコア、アットマーク、シャープ記号で始める必要があります:

最初の文字は、次のいずれかでなければなりません。

  • Unicode 標準 3.2 で定義されている文字。文字の Unicode 定義には、a ~ z、A ~ Z のラテン文字、および他の言語の文字が含まれます。

  • アンダースコア (_)、アットマーク (@)、または番号記号 (#)。

識別子の先頭にある特定の記号は、SQL Server で特別な意味を持ちます。アットマークで始まる通常の識別子は、常にローカル変数またはパラメーターを示し、他のタイプのオブジェクトの名前として使用することはできません。番号記号で始まる識別子は、一時テーブルまたはプロシージャを示します。2 つの番号記号 (##) で始まる識別子は、グローバル一時オブジェクトを示します。番号記号または 2 つの番号記号文字を使用して、他の種類のオブジェクトの名前を開始することもできますが、この方法はお勧めしません。

一部の Transact-SQL 関数には、2 つのアットマーク (@@) で始まる名前が付いています。これらの関数との混同を避けるために、@@ で始まる名前は使用しないでください。

"4444-virtual2"名前のすべての使用を二重引用符または大括弧で区切りたい場合を除きます[4444-virtual2]

于 2010-06-21T19:19:40.753 に答える
7

その名前でデータベースを作成することはできますが、引用符または角かっこで囲む必要があります。例:これは機能します:

CREATE DATABASE [4444-virtual2]

またはこれ:

CREATE DATABASE "4444-virtual2"
于 2010-06-21T19:28:24.540 に答える