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

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス

次の表は、Transact-SQL リファレンスの構文ダイアグラムで使用されている表記規則を一覧で示して説明しています。

表記 用途
大文字または UPPERCASE 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_name>.<database_name>.<schema_name>.<object_name> 4 部構成の名前です。
<server_name>.<database_name>..<object_name> スキーマ名を省略しています。
<server_name>..<schema_name>.<object_name> データベース名を省略しています。
<server_name>...<object_name> データベースとスキーマ名を省略しています。
<database_name>.<schema_name>.<object_name> サーバー名を省略しています。
<database_name>..<object_name> サーバーとスキーマ名を省略しています。
<schema_name>.<object_name> サーバーとデータベース名を省略しています。
<object_name> サーバー、データベース、およびスキーマ名を省略しています。

データ型

アーティクルでインラインで使用すると、データ型は小文字と太字で表示されます。 たとえば、 intvarchar(255)bitなどです。

Transact-SQL コード ブロックで使用すると、データ型は大文字で表示されます。 次に例を示します。

DECLARE @int_example AS INT;
DECLARE @varchar_example AS VARCHAR(255);
DECLARE @bit_example AS BIT;

コード例の規則

特に断りのない限り、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 がプレフィックスとして含まれていない場合、その文字列は、データベースの既定のコード ページに変換されます。 この既定のコード ページでは、特定の文字が認識されない場合があります。

"適用されます" リファレンス

Transact-SQL リファレンス記事には、2008 SQL Server (10.0.x) 以降の複数のバージョンの SQL Server と、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics、Analytics Platform System (PDW) が含まれています。

各記事の上部近くのセクションには、記事の件名をサポートする製品が示されています。 製品が省略されている場合、記事で説明されている機能は、その製品では使用できません。

場合によっては、記事の一般的な主題を製品で使用できますが、すべての引数がサポートされるわけではありません。 たとえば、包含データベース ユーザーは SQL Server 2012 (11.x) で導入されました。 SQL Server 製品で CREATE USER ステートメントを使用しますが、 WITH PASSWORD 構文は古いバージョンでは使用できません。 余分なセクションは、記事の本文の適切な引数の説明に挿入されます。