Identificadores de banco de dados

O nome do objeto de banco de dados é conhecido como identificador. Tudo no Microsoft SQL Server pode ter um identificador. Servidores, bancos de dados e objetos de banco de dados, como tabelas, exibições, colunas, índices, gatilhos, procedimentos, restrições e regras, podem ter identificadores. Os identificadores são necessários para a maioria dos objetos, mas são opcionais para alguns objetos, como restrições.

O identificador de objeto é criado quando o objeto é definido. O identificador é utilizado para referenciar o objeto. Por exemplo, a seguinte instrução cria uma tabela com o identificador TableX e duas colunas com os identificadores KeyCol e Description:

CREATE TABLE TableX
(KeyCol INT PRIMARY KEY, Description nvarchar(80))

Essa tabela também tem uma restrição sem-nome. A restrição PRIMARY KEY não tem identificador.

O agrupamento de um identificador depende do nível em que está definido. Os identificadores de objetos no nível de instância, como logons e nomes de banco de dados, são atribuídos ao agrupamento padrão da instância. Os identificadores de objetos em um banco de dados, como tabelas, exibições e nomes de coluna, são atribuídos ao agrupamento padrão do banco de dados. Por exemplo, duas tabelas com nomes que se diferem apenas em maiúsculas e minúsculas podem ser criadas em um banco de dados que possui agrupamento que diferencia maiúsculas e minúsculas, mas não podem ser criadas em um banco de dados que tem agrupamento que não diferencia maiúsculas e minúsculas.

ObservaçãoObservação

Os nomes de variáveis, funções e procedimentos armazenados devem estar em conformidade com as regras para identificadores Transact-SQL.

Classes de identificadores

Há duas classes de identificadores:

  • Identificadores normais
    Estão em conformidade com as regras de formato de identificadores. Os identificadores normais não são delimitados quando utilizados em instruções Transact-SQL.

    SELECT *
    FROM TableX
    WHERE KeyCol = 124
    
  • Identificadores delimitados
    Estão entre aspas duplas (") ou colchetes ([]). Os identificadores que estão em conformidade com as regras de formato de identificadores podem não ser delimitados. Por exemplo:

    SELECT *
    FROM [TableX]         --Delimiter is optional.
    WHERE [KeyCol] = 124  --Delimiter is optional.
    

    Os identificadores que não estão em conformidade com todas as regras para identificadores devem ser delimitados em uma instrução Transact-SQL. Por exemplo:

    SELECT *
    FROM [My Table]      --Identifier contains a space and uses a reserved keyword.
    WHERE [order] = 10   --Identifier is a reserved keyword.
    

Tanto os identificadores normais quanto os delimitados devem conter de 1 a 128 caracteres. Para tabelas temporárias locais, o identificador pode ter no máximo 116 caracteres.

Palavras reservadas

O identificador não deve ser uma palavra reservada do Transact-SQL. O SQL Server reserva as versões maiúscula e minúscula das palavras reservadas. Quando os identificadores são usados nas instruções Transact-SQL, os identificadores que não estiverem de acordo com essas regras deverão ser delimitados por aspas duplas ou colchetes. As palavras reservadas dependem do nível de compatibilidade do banco de dados. Este nível pode ser definido por meio da instrução ALTER DATABASE.

Consulte também

Referência

ALTER TABLE (Transact-SQL)

CREATE DATABASE (Transact-SQL)

CREATE DEFAULT (Transact-SQL)

CREATE PROCEDURE (Transact-SQL)

CREATE RULE (Transact-SQL)

CREATE TABLE (Transact-SQL)

CREATE TRIGGER (Transact-SQL)

CREATE VIEW (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

DELETE (Transact-SQL)

INSERT (Transact-SQL)

Palavras-chave reservadas (Transact-SQL)

SELECT (Transact-SQL)

UPDATE (Transact-SQL)