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

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

次の表は、Transact-SQLTransact-SQL リファレンスの構文で使用している表記規則について示しています。The following table lists and describes conventions that are used in the syntax diagrams in the Transact-SQLTransact-SQL Reference.

表記Convention 使用目的Used for
大文字UPPERCASE Transact-SQLTransact-SQL キーワードを示します。keywords.
斜体italic ユーザーが指定する Transact-SQLTransact-SQL 構文のパラメーターを示します。User-supplied parameters of Transact-SQLTransact-SQL syntax.
太字bold データベース名、テーブル名、列名、インデックス名、ストアド プロシージャ、ユーティリティ、データ型名、およびテキストを、記載されているとおりに入力します。Type database names, table names, column names, index names, stored procedures, utilities, data type names, and text exactly as shown.
下線underline 下線が引かれている値を含む句がステートメントから省略されているときに適用される既定値を示します。Indicates the default value applied when the clause that contains the underlined value is omitted from the statement.
(& a) #124 です。(縦棒)| (vertical bar) 角かっこ、または中かっこで囲まれた構文項目を区切ります。Separates syntax items enclosed in brackets or braces. 使用できる項目は 1 つだけです。You can use only one of the items.
[ ] (角かっこ)[ ] (brackets) 省略可能な構文項目。Optional syntax items. 角かっこは入力しません。Don't type the brackets.
{} (中かっこ){ } (braces) 必須の構文項目を示します。Required syntax items. 中かっこは入力しません。Don't type the braces.
[ , ...n][,...n] 先行する項目を n 回繰り返せることを示します。Indicates the preceding item can be repeated n number of times. 項目はコンマで区切ります。The occurrences are separated by commas.
[...n][...n] 先行する項目を n 回繰り返せることを示します。Indicates the preceding item can be repeated n number of times. 項目は空白で区切ります。The occurrences are separated by blanks.
;; Transact-SQLTransact-SQL ステートメントの終端記号を示します。statement terminator. セミコロンは、このバージョンの SQL ServerSQL Server のほとんどのステートメントでは必須ではありませんが、将来のバージョンでは必須になる予定です。Although the semicolon isn't required for most statements in this version of SQL ServerSQL Server, it will be required in a future version.
<label> ::=<label> ::= 構文のブロックの名前を示します。The name for a block of syntax. この表記規則を使用して、1 つのステートメント内の複数の箇所で使用できる長い構文の一部、または構文の 1 単位について、グループ化してラベルを付けます。Use this convention to group and label sections of lengthy syntax or a unit of syntax that you can use in more than one location within a statement. 構文のブロックを使用できる箇所は、不等号で囲まれたラベル (<label>) で示します。Each location in which the block of syntax could be used is indicated with the label enclosed in chevrons: <label>.

セットとは、式のコレクションです (たとえば <grouping set>)。リストとは、セットのコレクションです (たとえば <composite element list>)。A set is a collection of expressions, for example <grouping set>; and a list is a collection of sets, for example <composite element list>.

マルチパート名Multipart Names

特に指定のない限り、データベース オブジェクトの名前に対するすべての Transact-SQLTransact-SQL 参照は、次のような 4 部構成の名前の形式をとります。Unless specified otherwise, all Transact-SQLTransact-SQL references to the name of a database object can be a four-part name in the following form:

server_name.[database_name].[schema_name].object_nameserver_name.[database_name].[schema_name].object_name

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

| schema_name.object_name| schema_name.object_name

| object_name| object_name

server_nameserver_name
リンク サーバー名またはリモート サーバー名を示します。Specifies a linked server name or remote server name.

database_namedatabase_name
オブジェクトが SQL ServerSQL Server のローカル インスタンスに存在するときは、SQL ServerSQL Server データベースの名前を指定します。Specifies the name of a SQL ServerSQL Server database when the object resides in a local instance of SQL ServerSQL Server. オブジェクトがリンク サーバーに存在するとき、database_name には OLE DB カタログを指定します。When the object is in a linked server, database_name specifies an OLE DB catalog.

schema_nameschema_name
オブジェクトが SQL ServerSQL Server データベースに存在する場合は、そのオブジェクトを含むスキーマの名前を示します。Specifies the name of the schema that contains the object if the object is in a SQL ServerSQL Server database. オブジェクトがリンク サーバーに存在するとき、schema_name には OLE DB スキーマ名を指定します。When the object is in a linked server, schema_name specifies an OLE DB schema name.

object_nameobject_name
オブジェクトの名前を示します。Refers to the name of the object.

特定のオブジェクトを参照する場合、SQL Server データベース エンジンSQL Server Database Engine にオブジェクトを識別させるために、必ずしもサーバー、データベース、所有者を指定する必要はありません。When referencing a specific object, you don't always have to specify the server, database, and schema for the SQL Server データベース エンジンSQL Server Database Engine to identify the object. ただし、オブジェクトが見つからない場合は、エラーが返されます。However, if the object can't be found, an error is returned.

注意

名前解決のエラーを回避するために、スキーマ スコープ オブジェクトを指定するときは、常にスキーマ名を指定することをお勧めします。To avoid name resolution errors, we recommend specifying the schema name whenever you specify a schema-scoped object.

中間のノードを省略するには、ピリオドを使用してそれらの位置を示します。To omit intermediate nodes, use periods to indicate these positions. 次の表に、オブジェクト名の有効な形式を示します。The following table shows the valid formats of object names.

オブジェクト参照形式Object reference format [説明]Description
server.database.schema.objectserver.database.schema.object 4 部構成の名前です。Four-part name.
server.database..objectserver.database..object スキーマ名を省略しています。Schema name is omitted.
server..schema.objectserver..schema.object データベース名を省略しています。Database name is omitted.
server...objectserver...object データベースとスキーマ名を省略しています。Database and schema name are omitted.
database.schema.objectdatabase.schema.object サーバー名を省略しています。Server name is omitted.
database..objectdatabase..object サーバーとスキーマ名を省略しています。Server and schema name are omitted.
schema.objectschema.object サーバーとデータベース名を省略しています。Server and database name are omitted.
objectobject サーバー、データベース、およびスキーマ名を省略しています。Server, database, and schema name are omitted.

コード例の規則Code Example Conventions

特に断りのない限り、Transact-SQLTransact-SQL リファレンスで提供されている例は、SQL Server Management StudioSQL Server Management Studio を使用し、次のオプションを既定の設定にしてテストされています。Unless stated otherwise, the examples provided in the Transact-SQLTransact-SQL Reference were tested by using SQL Server Management StudioSQL Server Management Studio and its default settings for the following options:

  • ANSI_NULLSANSI_NULLS
  • ANSI_NULL_DFLT_ONANSI_NULL_DFLT_ON
  • ANSI_PADDINGANSI_PADDING
  • ANSI_WARNINGSANSI_WARNINGS
  • CONCAT_NULL_YIELDS_NULLCONCAT_NULL_YIELDS_NULL
  • QUOTED_IDENTIFIERQUOTED_IDENTIFIER

Transact-SQLTransact-SQL リファレンスのほとんどのコード例は、大文字と小文字を区別する並べ替え順を使用するサーバーでテストされています。Most code examples in the Transact-SQLTransact-SQL Reference have been tested on servers that are running a case-sensitive sort order. 通常、テスト サーバーでは、ANSI/ISO 1252 コード ページが使用されています。The test servers were typically running the ANSI/ISO 1252 code page.

多くのコード例では、Unicode 文字列定数に N という文字をプレフィックスとして加えています。プレフィックス N がない場合、文字列はデータベースの既定のコード ページに変換されます。Many code examples prefix Unicode character string constants with the letter N. Without the N prefix, the string is converted to the default code page of the database. この既定のコード ページでは、一部の文字が認識されない場合があります。This default code page may not recognize certain characters.

"適用対象" リファレンス"Applies to" References

Transact-SQLTransact-SQL リファレンスには、SQL ServerSQL Server (SQL Server 2008SQL Server 2008 から SQL Server 2017SQL Server 2017 まで)、Azure SQL データベースAzure SQL Database、および Azure SQL データ ウェアハウスAzure SQL Data Warehouse に関連する記事が含まれています。The Transact-SQLTransact-SQL reference includes articles related to SQL ServerSQL Server (SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017), Azure SQL データベースAzure SQL Database, and Azure SQL データ ウェアハウスAzure SQL Data Warehouse.

各記事の先頭近くに、記事の主題をサポートする製品を示すセクションがあります。There's a section near the top of each article indicating which products support the article's subject. 製品が省略されている場合、記事で説明されている機能は、その製品では使用できません。If a product is omitted, then the feature described by the article isn't available in that product. たとえば、可用性グループは SQL Server 2012 (11.x)SQL Server 2012 (11.x) で導入されました。For example, availability groups were introduced in SQL Server 2012 (11.x)SQL Server 2012 (11.x). CREATE AVAILABILITY GROUP の記事は、SQL Server 2008SQL Server 2008SQL Server 2008 R2SQL Server 2008 R2、または Azure SQL データベースAzure SQL Database に適用されないため、SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) から SQL Server 2017SQL Server 2017 まで) が適用対象と記載されています。The CREATE AVAILABILITY GROUP article indicates it applies to SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017) because it doesn't apply to SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, or Azure SQL データベースAzure SQL Database.

場合によっては、記事の一般的な主題を製品で使用できますが、すべての引数がサポートされるわけではありません。The general subject of the article might be used in a product, but all of the arguments aren't supported in some cases. たとえば、包含データベース ユーザーは SQL Server 2012 (11.x)SQL Server 2012 (11.x) で導入されました。For example, contained database users were introduced in SQL Server 2012 (11.x)SQL Server 2012 (11.x). CREATE USER ステートメントはすべての SQL ServerSQL Server 製品で使用できますが、WITH PASSWORD 構文は以前のバージョンでは使用できません。Use the CREATE USER statement in any SQL ServerSQL Server product, however the WITH PASSWORD syntax can't be used with older versions. 記事の本文の適切な引数の説明に、「適用対象」セクションが追加で挿入されます。Additional Applies to sections are inserted into the appropriate argument descriptions in the body of the article.

参照See Also

TRANSACT-SQL リファレンス (データベース エンジン) Transact-SQL Reference (Database Engine)
予約済みキーワード (Transact-SQL) Reserved Keywords (Transact SQL)
Transact-SQL の設計の問題 Transact-SQL Design Issues
Transact-SQL の名前付けの問題 Transact-SQL Naming Issues
Transact-SQL のパフォーマンスの問題Transact-SQL Performance Issues