Поделиться через


Соглашения о синтаксисе Transact-SQL (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в базе данных Microsoft Fabric SQL в Microsoft Fabric

В следующей таблице перечислены и описываются соглашения, используемые на синтаксической схеме в справочнике Transact-SQL.

Соглашение Используется для
ВЕРХНИЙ РЕГИСТР или UPPERCASE Ключевые слова Transact-SQL.
курсив Пользовательские параметры синтаксиса Transact-SQL.
полужирный Имена баз данных типов, таблиц, столбцов, индексов, хранимых процедур, программ, типов данных и текст должны вводиться в точном соответствии с примером.
| (вертикальная полоса) Разделяет элементы синтаксиса внутри квадратных или фигурных скобок. Может быть использован только один из этих элементов.
[ ] (квадратные скобки) Необязательный элемент синтаксиса.
{ } (фигурные скобки) Обязательные элементы синтаксиса. Фигурные скобки не вводятся.
[ , ...n ] Указывает на то, что предшествующий элемент можно повторить n раз. Отдельные вхождения элемента разделяются запятыми.
[ ...n ] Указывает на то, что предшествующий элемент можно повторить n раз. Отдельные вхождения элемента разделяются пробелами.
; Признак конца инструкции Transact-SQL. Хотя точка с запятой не требуется для большинства инструкций в этой версии SQL Server, она потребуется в будущей версии.
<label> ::= Имя синтаксического блока. Используйте это соглашение для группирования и маркировки сегментов с длинным синтаксисом или элемента синтаксиса, который может использоваться в нескольких расположениях в пределах одной инструкции. Каждое расположение, в котором может использоваться блок синтаксиса, указывается с меткой, заключенной в шевроны: <метка>.

Набор представляет собой коллекцию выражений, например <grouping set>; а список — коллекцию наборов, например <composite element list>.

Многопартийные имена

Если не указано иное, все ссылки Transact-SQL на имена объектов базы данных могут быть четырехсоставными именами, записываемыми в следующей форме.

<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 ядро СУБД для идентификации объекта. Однако, если объект не удается найти, возвращается ошибка.

Чтобы избежать ошибок разрешения имен, при указании объекта области схемы рекомендуется указать имя схемы.

Чтобы пропустить промежуточные узлы, для обозначения их позиций используйте точки. В следующей таблице показаны допустимые форматы имен объектов.

Формат ссылки на объект Description
<server_name>.<database_name>.<schema_name>.<object_name> Четырехчастное имя.
<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> Имена сервера, базы данных и схемы пропущены.

Типы данных

При использовании встроенных в статье типов данных отображаются в нижнем и полужирном регистре. Например, int, varchar(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.

Многие примеры кода префикс констант символьной строки Юникода с буквой N. N Без префикса строка преобразуется в кодовую страницу базы данных по умолчанию. Эта кодовая страница по умолчанию может не распознавать определенные символы.

Ссылки "Относится к"

Справочные статьи Transact-SQL включают несколько версий SQL Server, начиная с SQL Server 2008 (10.0.x), а также База данных SQL Azure, Управляемый экземпляр SQL Azure, Azure Synapse Analytics и analytics Platform System (PDW).

Раздел в верхней части каждой статьи указывает, какие продукты поддерживают тему статьи. Если продукт не указан, то компонент, описанный в статье, для данного продукта недоступен.

К продукту относится общая тема статьи, но в некоторых случаях не все аргументы поддерживаются. Например, в SQL Server 2012 (11.x) появились пользователи автономной базы данных. Используйте инструкцию в любом продукте CREATE USER SQL Server. Однако WITH PASSWORD синтаксис не может использоваться со старыми версиями. Дополнительное применение к разделам вставляется в соответствующие описания аргументов в тексте статьи.