Compartir a través de


Identificadores de base de datos

El nombre del objeto de base de datos se conoce como su identificador. Todo en Microsoft SQL Server puede tener un identificador. Los servidores, las bases de datos y los objetos de base de datos, como tablas, vistas, columnas, índices, desencadenadores, procedimientos, restricciones y reglas, pueden tener identificadores. Los identificadores son necesarios para la mayoría de los objetos, pero son opcionales para algunos objetos como restricciones.

Se crea un identificador de objeto cuando se define el objeto. A continuación, se usa el identificador para hacer referencia al objeto . Por ejemplo, la siguiente instrucción crea una tabla con el identificador TableXy dos columnas con los identificadores KeyCol y Description:

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

Esta tabla también tiene una restricción sin nombre. La PRIMARY KEY restricción no tiene ningún identificador.

La ordenación de un identificador depende del nivel en el que se define. Se asigna a los identificadores de objetos de instancia, como los inicios de sesión y los nombres de base de datos, la intercalación predeterminada de la instancia. A los identificadores de los objetos de una base de datos, como tablas, vistas y nombres de columna, se les asigna la intercalación predeterminada de la base de datos. Por ejemplo, dos tablas con nombres que solo difieren en el caso se pueden crear en una base de datos que tenga intercalación que distingue entre mayúsculas y minúsculas, pero que no se puede crear en una base de datos que tenga intercalación que no distingue mayúsculas de minúsculas.

Nota:

Los nombres de las variables, o los parámetros de las funciones y los procedimientos almacenados deben cumplir las reglas para identificadores Transact-SQL.

Clases de identificadores

Hay dos clases de identificadores:

Identificadores normales
Cumpla las reglas para el formato de los identificadores. Los identificadores regulares no están delimitados cuando se utilizan en las instrucciones Transact-SQL.

SELECT *  
FROM TableX  
WHERE KeyCol = 124  

Identificadores delimitados
Se incluyen entre comillas dobles (") o corchetes ([ ]). Es posible que los identificadores que cumplan las reglas para el formato de los identificadores no se delimiten. Por ejemplo:

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

Los identificadores que no cumplan todas las reglas para los identificadores deben delimitarse en una instrucción Transact-SQL. Por ejemplo:

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

Los identificadores normales y delimitados deben contener de 1 a 128 caracteres. Para las tablas temporales locales, el identificador puede tener un máximo de 116 caracteres.

Reglas para identificadores regulares

Los nombres de variables, funciones y procedimientos almacenados deben cumplir las siguientes reglas para los identificadores de Transact-SQL.

  1. El primer carácter debe ser uno de los siguientes:

    • Una letra tal como se define en el estándar Unicode 3.2. La definición Unicode de letras incluye caracteres latinos de un a z, de A a Z, y también caracteres de letras de otros idiomas.

    • El carácter de subrayado (_), en el signo (@) o el signo de número (#).

      Algunos símbolos al principio de un identificador tienen un significado especial en SQL Server. Un identificador normal que comienza con el signo at siempre denota una variable o parámetro local y no se puede usar como nombre de ningún otro tipo de objeto. Un identificador que comienza con un signo numérico indica una tabla o procedimiento temporal. Un identificador que comienza con signos de número doble (##) denota un objeto temporal global. Aunque el signo numérico o los caracteres de signo de número doble se pueden usar para comenzar los nombres de otros tipos de objetos, no se recomienda esta práctica.

      Algunas funciones de Transact-SQL tienen nombres que comienzan con signos dobles (@@). Para evitar confusiones con estas funciones, no debe usar nombres que empiecen por @@.

  2. Los caracteres posteriores pueden incluir lo siguiente:

    • Letras como se define en el estándar Unicode 3.2.

    • Números decimales de alfabeto latino básico u otros scripts nacionales.

    • El signo en signo, el signo de dólar ($), el signo numérico o el carácter de subrayado.

  3. El identificador no debe ser una palabra reservada Transact-SQL. SQL Server reserva las versiones mayúsculas y minúsculas de palabras reservadas. Cuando los identificadores se usan en instrucciones Transact-SQL, los identificadores que no cumplen estas reglas deben delimitarse entre comillas dobles o corchetes. Las palabras reservadas dependen del nivel de compatibilidad de la base de datos. Este nivel se puede establecer mediante la instrucción ALTER DATABASE .

  4. No se permiten espacios incrustados ni caracteres especiales.

  5. No se permiten caracteres adicionales.

Cuando los identificadores se usan en instrucciones Transact-SQL, los identificadores que no cumplen estas reglas deben delimitarse entre comillas dobles o corchetes.

Nota:

Algunas reglas para el formato de los identificadores regulares dependen del nivel de compatibilidad de la base de datos. Este nivel se puede establecer mediante ALTER DATABASE.

Véase también

MODIFICAR TABLA (Transact-SQL)
CREATE DATABASE (Transact-SQL de SQL Server)
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)
Palabras clave reservadas (Transact-SQL)
SELECT (Transact-SQL)
UPDATE (Transact-SQL)