Синтаксические обозначения в Transact-SQL (Transact-SQL)Transact-SQL Syntax Conventions (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ:даSQL Server (начиная с 2008)даБаза данных SQL AzureдаХранилище данных SQL AzureдаParallel Data WarehouseAPPLIES TO: yesSQL Server (starting with 2008) 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.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.
| (вертикальная черта)| (vertical bar) Разделяет элементы синтаксиса внутри квадратных или фигурных скобок.Separates syntax items enclosed in brackets or braces. Может быть использован только один из этих элементов.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.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. Используйте это соглашение для группирования и маркировки сегментов с длинным синтаксисом или элемента синтаксиса, который может использоваться в нескольких расположениях в пределах одной инструкции.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 на имена объектов базы данных могут быть четырехсоставными именами, записываемыми в следующей форме.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 Database EngineSQL Server Database Engine попытается определить этот объект.When referencing a specific object, you don't always have to specify the server, database, and schema for the Компонент SQL Server Database EngineSQL 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 Четырехчастное имя.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.

Многие примеры кода добавляют к строковым константам в Юникоде префикс в виде буквы 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 ServerSQL Server 2008SQL Server 2008 по SQL Server 2017SQL Server 2017), База данных SQL AzureAzure SQL Database и Хранилище данных SQL AzureAzure 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), База данных SQL AzureAzure SQL Database, and Хранилище данных SQL AzureAzure 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 ServerSQL ServerSQL Server 2012 (11.x)SQL Server 2012 (11.x) до SQL Server 2017SQL Server 2017), так как она неприменима к SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2 или База данных SQL AzureAzure SQL Database.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 База данных SQL AzureAzure 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-SQLTransact-SQL Performance Issues