Transact-SQL 構文表記規則 (Transact-SQL)

次の表は、Transact-SQL リファレンスの構文で使用している表記規則について示しています。

表記

使用目的

大文字

Transact-SQL キーワードを示します。

斜体

ユーザーが指定する Transact-SQL 構文のパラメーターを示します。

太字

記載されているとおりに入力する必要があるデータベース名、テーブル名、列名、インデックス名、ストアド プロシージャ、ユーティリティ、データ型名、テキストを示します。

下線

下線が引かれている値を含む句がステートメントから省略されているときに適用される既定値を示します。

| (縦棒)

角かっこ、または中かっこで囲まれた構文項目を区切ります。使用できる項目は 1 つだけです。

[ ] (角かっこ)

省略可能な構文項目を示します。角かっこは入力しません。

{} (中かっこ)

必須の構文項目を示します。中かっこは入力しません。

[,...n]

先行する項目を n 回繰り返せることを示します。項目はコンマで区切ります。

[...n]

先行する項目を n 回繰り返せることを示します。項目は空白で区切ります。

;

Transact-SQL ステートメントのターミネータを示します。セミコロンは、このバージョンの SQL Server のほとんどのステートメントでは必須ではありませんが、将来のバージョンでは必須となる予定です。

<label> ::=

構文のブロックの名前を示します。この表記規則は、1 つのステートメント内の複数の箇所で使用できる長い構文の一部、または構文の 1 単位について、グループ化してラベルを付ける際に使用します。構文のブロックを使用できる箇所は、不等号で囲まれたラベル (<label>) で示します。

セットとは、式のコレクションです (たとえば <grouping set>)。リストとは、セットのコレクションです (たとえば <composite element list>)。

マルチパート名

特に指定のない限り、データベース オブジェクトの名前に対するすべての Transact-SQL 参照は、次のような 4 部構成の名前の形式をとります。

server_name**.[database_name].[schema_name].**object_name

| database_name**.[schema_name].**object_name

| schema_name**.**object_name

| object_name

  • server_name
    リンク サーバー名またはリモート サーバー名を示します。

  • database_name
    オブジェクトが SQL Server のローカル インスタンスに存在するときは、SQL Server データベースの名前を指定します。オブジェクトがリンク サーバーに存在するとき、database_name には OLE DB カタログを指定します。

  • schema_name
    オブジェクトが SQL Server データベースに存在する場合は、そのオブジェクトを含むスキーマの名前を示します。オブジェクトがリンク サーバーに存在するとき、schema_name には OLE DB スキーマ名を指定します。スキーマの詳細については、「ユーザーとスキーマの分離」を参照してください。

  • object_name
    オブジェクトの名前を示します。

特定のオブジェクトを参照する場合、SQL Server データベース エンジンにオブジェクトを識別させるために、必ずしもサーバー、データベース、所有者を指定する必要はありません。ただし、オブジェクトが見つからない場合は、エラーが返されます。

注意

名前解決のエラーを回避するために、スキーマ スコープ オブジェクトを指定するときは、常にスキーマ名を指定することをお勧めします。

中間のノードを省略するには、ピリオドを使用してそれらの位置を示します。次の表に、オブジェクト名の有効な形式を示します。

オブジェクト参照形式

説明

server.database.schema.object

4 部構成の名前です。

server.database..object

スキーマ名を省略しています。

server..schema.object

データベース名を省略しています。

server...object

データベースとスキーマ名を省略しています。

database.schema.object

サーバー名を省略しています。

database..object

サーバーとスキーマ名を省略しています。

schema.object

サーバーとデータベース名を省略しています。

object

サーバー、データベース、およびスキーマ名を省略しています。

コード例の規則

特に断りのない限り、Transact-SQL リファレンスで提供されている例は、SQL Server Management Studio を使用し、次のオプションを既定の設定にしてテストされています。

  • ANSI_NULLS

  • ANSI_NULL_DFLT_ON

  • ANSI_PADDING

  • ANSI_WARNINGS

  • CONCAT_NULL_YIELDS_NULL

  • QUOTED_IDENTIFIER

Transact-SQL リファレンスのほとんどのコード例は、大文字と小文字を区別する並べ替え順を使用するサーバーでテストされています。通常、テスト サーバーでは、ANSI/ISO 1252 コード ページが使用されています。

多くのコード例では、Unicode 文字列定数に N という文字をプレフィックスとして加えています。プレフィックス N がない場合、文字列はデータベースの既定のコード ページに変換されます。この既定のコード ページでは、一部の文字が認識されない場合があります。詳細については、「Unicode を使用したサーバー側のプログラミング」を参照してください。