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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

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

表記 用途
UPPERCASE Transact-SQL キーワード。
斜体 ユーザーが指定する Transact-SQL 構文のパラメーター。
太字 データベース名、テーブル名、列名、インデックス名、ストアド プロシージャ、ユーティリティ、データ型名、およびテキストを、記載されているとおりに入力します。
| (縦棒) 角かっこ、または中かっこで囲まれた構文項目を区切ります。 使用できる項目は 1 つだけです。
[ ] (角かっこ) 省略可能な構文項目。
{} (中かっこ) 必須の構文項目を示します。 中かっこは入力しません。
[ , ...n ] 先行する項目を n 回繰り返せることを示します。 出現箇所は、コンマで区切られます。
[ ...n ] 先行する項目を n 回繰り返せることを示します。 項目は空白で区切ります。
; Transact-SQL ステートメントの終端記号。 セミコロンは、このバージョンの SQL Server のほとんどのステートメントでは必須ではありませんが、将来のバージョンでは必須になる予定です。
構文のブロックの名前を示します。 この表記規則を使用して、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 サーバー、データベース、およびスキーマ名を省略しています。

コード例の規則

特に断りのない限り、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) で導入されました。 CREATE USER ステートメントはすべての SQL Server 製品で使用できますが、WITH PASSWORD 構文は以前のバージョンでは使用できません。 記事の本文の適切な引数の説明に、「適用対象」セクションが追加で挿入されます。

関連項目