Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O nome do objeto de banco de dados é conhecido como seu 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. Identificadores são necessários para a maioria dos objetos, mas são opcionais para alguns objetos, como restrições.
Um identificador de objeto é criado quando o objeto é definido. Em seguida, o identificador é usado para referenciar o objeto. Por exemplo, a instrução a seguir cria uma tabela com o identificador TableXe 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 PRIMARY KEY restrição não tem identificador.
A ordenação de um identificador depende do nível em que ele é definido. Os identificadores de objetos no nível de instância, como logons e nomes de banco de dados, são atribuídos à ordenação padrão da instância. Identificadores de objetos em um banco de dados, como tabelas, exibições e nomes de coluna, recebem a ordenação padrão do banco de dados. Por exemplo, duas tabelas com nomes diferentes somente no caso podem ser criadas em um banco de dados com ordenação que diferencia maiúsculas de minúsculas, mas não podem ser criadas em um banco de dados que não diferencia maiúsculas de minúsculas.
Observação
Os nomes de variáveis ou os parâmetros de 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 regulares
Cumprir as regras para o formato de identificadores. Identificadores regulares não são delimitados quando são usados 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 para o 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.
Identificadores regulares e delimitados devem conter de 1 a 128 caracteres. Para tabelas temporárias locais, o identificador pode ter no máximo 116 caracteres.
Regras para identificadores regulares
Os nomes de variáveis, funções e procedimentos armazenados devem estar em conformidade com as regras a seguir para identificadores de Transact-SQL.
O primeiro caractere deve ser um dos seguintes:
Uma letra, conforme definido pelo Unicode Standard 3.2. A definição unicode de letras inclui caracteres latinos de a a z, de A a Z e também caracteres de letra de outras linguagens.
O sublinhado (_), no sinal (@) ou no sinal de número (#).
Determinados símbolos no início de um identificador têm um significado especial no SQL Server. Um identificador regular que começa com o sinal de arroba sempre indica uma variável ou parâmetro local e não pode ser usado como o nome de qualquer outro tipo de objeto. Um identificador que começa com um sinal de número indica uma tabela ou procedimento temporário. Um identificador que começa com sinais de número duplo (##) indica um objeto temporário global. Embora os caracteres de sinal de número ou de sinal de número duplo possam ser usados para iniciar os nomes de outros tipos de objetos, não recomendamos essa prática.
Algumas funções Transact-SQL têm nomes que começam com dupla arroba (@@). Para evitar confusão com essas funções, você não deve usar nomes que começam com @@.
Os caracteres subsequentes podem incluir o seguinte:
Letras conforme definido no Unicode Standard 3.2.
Números decimais do Latim Básico ou de outros scripts nacionais.
A arroba, sinal de dólar ($), cerquilha ou sublinhado.
O identificador não deve ser uma palavra reservada Transact-SQL. O SQL Server reserva as versões maiúsculas e minúsculas de palavras reservadas. Quando os identificadores são usados em instruções Transact-SQL, os identificadores que não estão em conformidade com essas regras devem ser delimitados por aspas duplas ou colchetes. As palavras reservadas dependem do nível de compatibilidade do banco de dados. Esse nível pode ser definido usando a instrução ALTER DATABASE .
Espaços inseridos ou caracteres especiais não são permitidos.
Caracteres complementares não são permitidos.
Quando os identificadores são usados em instruções Transact-SQL, os identificadores que não estão em conformidade com essas regras devem ser delimitados por aspas duplas ou colchetes.
Observação
Algumas regras para o formato de identificadores regulares dependem do nível de compatibilidade do banco de dados. Esse nível pode ser definido usando ALTER DATABASE.
Consulte Também
ALTER TABLE (Transact-SQL)
CRIAR BANCO DE DADOS (SQL Server 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)