Convenções da sintaxe Transact-SQL (Transact-SQL)Transact-SQL Syntax Conventions (Transact-SQL)

ESTE TÓPICO APLICA-SE A: simSQL Server (a partir de 2008)simBanco de Dados SQL do Microsoft AzuresimAzure SQL Data Warehouse simParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

A tabela a seguir lista e descreve as convenções usadas nos diagramas de sintaxe na Referência Transact-SQLTransact-SQL.The following table lists and describes conventions that are used in the syntax diagrams in the Transact-SQLTransact-SQL Reference.

ConvençãoConvention Usado paraUsed for
UPPERCASEUPPERCASE Palavras-chave Transact-SQLTransact-SQL. Transact-SQLTransact-SQL keywords.
italicitalic Parâmetros de sintaxe Transact-SQLTransact-SQL fornecidos pelo usuário.User-supplied parameters of Transact-SQLTransact-SQL syntax.
boldbold Nomes de banco de dados, nomes de tabela, nomes de coluna, nomes de índice, procedimentos armazenados, utilitários, nomes de tipo de dados e texto que devem ser digitados exatamente como aparecem.Database names, table names, column names, index names, stored procedures, utilities, data type names, and text that must be typed exactly as shown.
underlineunderline Indica o valor padrão aplicado quando a cláusula que contém o valor sublinhado é omitida da instrução.Indicates the default value applied when the clause that contains the underlined value is omitted from the statement.
| (barra vertical)| (vertical bar) Separa itens de sintaxe que se encontram entre colchetes ou entre chaves.Separates syntax items enclosed in brackets or braces. Você pode usar só um dos itens.You can use only one of the items.
[ ] (colchetes)[ ] (brackets) Itens de sintaxe opcionais.Optional syntax items. Não digite os colchetes.Do not type the brackets.
{ } (chaves){ } (braces) Itens de sintaxe exigidos.Required syntax items. Não digite as chaves.Do not type the braces.
[,...n][,...n] Indica que o item precedente pode ser repetido n vezes.Indicates the preceding item can be repeated n number of times. As ocorrências são separadas por vírgulas.The occurrences are separated by commas.
[...n][...n] Indica que o item precedente pode ser repetido n vezes.Indicates the preceding item can be repeated n number of times. As ocorrências são separadas por espaços em branco.The occurrences are separated by blanks.
;; Terminador de instrução Transact-SQLTransact-SQL. Embora o sinal de ponto-e-vírgula não seja obrigatório na maioria das instruções nesta versão do SQL ServerSQL Server, ele será necessário em uma versão futura. Transact-SQLTransact-SQL statement terminator.Although the semicolon is not required for most statements in this version of SQL ServerSQL Server, it will be required in a future version.
<label> ::=<label> ::= O nome de um bloco de sintaxe.The name for a block of syntax. Essa convenção é usada para agrupar e rotular seções de sintaxe extensa ou uma unidade de sintaxe que pode ser usada em mais de um local dentro de uma instrução.This convention is used to group and label sections of lengthy syntax or a unit of syntax that can be used in more than one location within a statement. Cada local no qual o bloco de sintaxe pode ser usado é indicado com o rótulo entre divisas: <label>.Each location in which the block of syntax can be used is indicated with the label enclosed in chevrons: <label>.

Um conjunto é uma coleção de expressões, por exemplo, <grouping set>, e uma lista é uma coleção de conjuntos, por exemplo, <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>.

Nomes de partes múltiplasMultipart Names

A menos que especificado de outra forma, todas as referências Transact-SQLTransact-SQL ao nome de um objeto de banco de dados podem ser um nome de quatro partes, do seguinte modo: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
Especifica um nome de servidor vinculado ou remoto.Specifies a linked server name or remote server name.

database_namedatabase_name
Especifica o nome de um banco de dados SQL ServerSQL Server quando o objeto reside em uma instância local de SQL ServerSQL Server.Specifies the name of a SQL ServerSQL Server database when the object resides in a local instance of SQL ServerSQL Server. Quando o objeto está em um servidor vinculado, database_name especifica um catálogo OLE DB.When the object is in a linked server, database_name specifies an OLE DB catalog.

schema_nameschema_name
Especifica o nome do esquema que contém o objeto, se o objeto estiver em um banco de dados SQL ServerSQL Server.Specifies the name of the schema that contains the object if the object is in a SQL ServerSQL Server database. Quando o objeto está em um servidor vinculado, schema_name especifica um nome de esquema OLE DB.When the object is in a linked server, schema_name specifies an OLE DB schema name.

object_nameobject_name
Refere-se ao nome do objeto.Refers to the name of the object.

Quando se refere a um objeto específico, nem sempre é preciso especificar o servidor, o banco de dados e o esquema para que Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine identifique o objeto.When referencing a specific object, you do not always have to specify the server, database, and schema for the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine to identify the object. Porém, se o objeto não puder ser encontrado, um erro será retornado.However, if the object cannot be found, an error is returned.

Observação

Para evitar erros de resolução de nome, recomendamos especificar o nome de esquema sempre que você especificar um objeto no escopo do esquema.To avoid name resolution errors, we recommend specifying the schema name whenever you specify a schema-scoped object.

Para omitir nós intermediários, use pontos para indicar essas posições.To omit intermediate nodes, use periods to indicate these positions. A tabela a seguir mostra os formatos válidos de nomes de objetos.The following table shows the valid formats of object names.

Formato de referência de objetoObject reference format DescriptionDescription
server .server . database .database . schema .schema . objectobject Nome de quatro partes.Four-part name.
server .server . database ..database .. objectobject O nome do esquema é omitido.Schema name is omitted.
server ..server .. schema .schema . objectobject O nome do banco de dados é omitido.Database name is omitted.
server ... objectserver ... object Os nomes do banco de dados e do esquema são omitidos.Database and schema name are omitted.
database .database . schema .schema . objectobject O nome do servidor é omitido.Server name is omitted.
database ..database .. objectobject Os nomes do servidor e do esquema são omitidos.Server and schema name are omitted.
schema .schema . objectobject Os nomes do servidor e do banco de dados são omitidos.Server and database name are omitted.
objectobject Os nomes do servidor, do banco de dados e do esquema são omitidos.Server, database, and schema name are omitted.

Convenções de exemplo de códigoCode Example Conventions

Salvo indicação em contrário, os exemplos fornecidos na Referência do Transact-SQLTransact-SQL foram testados usando SQL Server Management StudioSQL Server Management Studio e suas configurações padrão para as seguintes opções: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

A maioria dos exemplos de código na Referência do Transact-SQLTransact-SQL foi testada em servidores executando uma ordem de classificação com diferenciação de maiúsculas e minúsculas.Most code examples in the Transact-SQLTransact-SQL Reference have been tested on servers that are running a case-sensitive sort order. Os servidores de teste executaram, normalmente, a página de código ANSI/ISO 1252.The test servers were typically running the ANSI/ISO 1252 code page.

Muitos exemplos de código incluem um prefixo em constantes de cadeia de caracteres Unicode com a letra N. Sem o prefixo N, a cadeia de caracteres é convertida na página de código padrão do banco de dados.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. Essa página de código padrão pode não reconhecer certos caracteres.This default code page may not recognize certain characters.

Referências de "Aplica-se a""Applies to" References

A referência Transact-SQLTransact-SQL inclui artigos relacionados a SQL ServerSQL Server, (do SQL Server 2008SQL Server 2008 ao SQL Server 2017SQL Server 2017), Banco de dados SQL do AzureAzure SQL Database e Azure SQL Data WarehouseAzure 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), Banco de dados SQL do AzureAzure SQL Database, and Azure SQL Data WarehouseAzure SQL Data Warehouse.

Na parte superior de cada artigo, há uma seção indicando quais produtos se referem ao assunto do artigo.Near the top of each article is a section indicating which products support the subject of the article. Se um produto for omitido, o recurso descrito pelo artigo não estará disponível no produto.If a product is omitted, then the feature described by the article is not available in that product. Por exemplo, os grupos de disponibilidade foram introduzidos no 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). O artigo CREATE AVAILABILITY GROUP indica que ele se aplica ao SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017) e não se aplica ao SQL Server 2008SQL Server 2008, ao SQL Server 2008 R2SQL Server 2008 R2 e nem ao Banco de dados SQL do 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 does not apply to SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, or Banco de dados SQL do AzureAzure SQL Database.

Em alguns casos, o assunto geral do artigo pode ser usado em um produto, mas não há suporte para todos os argumentos.In some cases, the general subject of the article can be used in a product, but all of the arguments are not supported. Por exemplo, os usuários do banco de dados independente foram introduzidos no 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). A instrução CREATE USER pode ser usada em qualquer produto SQL ServerSQL Server; no entanto, a sintaxe WITH PASSWORD não pode ser usada com versões anteriores.The CREATE USER statement can be used in any SQL ServerSQL Server product, however the WITH PASSWORD syntax cannot be used with older versions. Nesse caso, seções Aplica-se a adicionais são inseridas em descrições de argumento apropriadas no corpo do artigo.In this case, additional Applies to sections are inserted into the appropriate argument descriptions in the body of the article.

Consulte TambémSee Also

Referência do Transact-SQL (Mecanismo de Banco de Dados) Transact-SQL Reference (Database Engine)
Palavras-chave reservadas (Transact-SQL) Reserved Keywords (Transact SQL)
Problemas de design do Transact-SQL Transact-SQL Design Issues
Problemas de nomenclatura do Transact-SQL Transact-SQL Naming Issues
Problemas de desempenho do Transact-SQLTransact-SQL Performance Issues