Identificateur de la base de données.

Le nom d'un objet d'une base de données est son identificateur. Dans Microsoft SQL Server, tous les éléments peuvent avoir un identificateur. Les serveurs, les bases de données et les objets de bases de données tels que les tables, les vues, les colonnes, les index, les déclencheurs, les procédures, les contraintes, les règles, etc. peuvent avoir des identificateurs. La plupart des objets doivent avoir un identificateur ; les identificateurs sont facultatifs pour certains objets, tels que les contraintes.

L'identificateur d'un objet est créé lors de la définition de l'objet. L'identificateur est ensuite utilisé pour référencer l'objet. L'instruction suivante, par exemple, crée une table avec l'identificateur TableX, et deux colonnes avec les identificateurs KeyCol et Description :

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

Cette table comporte également une contrainte sans nom. La contrainte PRIMARY KEY n'a pas d'identificateur.

Le classement d'un identificateur dépend du niveau auquel il est défini. Le classement par défaut de l'instance est assigné aux identificateurs d'objets qui sont au niveau de l'instance, tels que les noms de connexion et de base de données. Le classement par défaut de la base de données est affecté aux identificateurs d'objets qui appartiennent à la base de données, tels que les noms des tables, des vues et des colonnes. Par exemple, deux tables dont les noms diffèrent uniquement au niveau de la casse peuvent être créées dans une base de données dont le classement respecte la casse, mais pas dans une base de données dont le classement ne respecte pas la casse.

[!REMARQUE]

Les noms de variables, de fonctions et de procédures stockées doivent toujours respecter les règles portant sur les identificateurs Transact-SQL.

Classes d'identificateurs

Il existe deux classes d'identificateurs :

  • Identificateurs réguliers
    Les identificateurs réguliers respectent les règles relatives au format des identificateurs. Ils ne sont pas délimités lorsqu'ils sont utilisés dans des instructions Transact-SQL.

    SELECT *
    FROM TableX
    WHERE KeyCol = 124
    
  • Identificateurs délimités
    Les identificateurs délimités sont mis entre guillemets (") ou entre crochets ([ ]). Les identificateurs qui respectent les règles relatives au format des identificateurs peuvent ne pas être délimités. Exemple :

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

    Ceux qui ne respectent pas ces règles ne peuvent être utilisés dans une instruction Transact-SQL qu'en étant délimités. Exemple :

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

Qu'ils soient réguliers ou délimités, les identificateurs doivent contenir de 1 à 128 caractères. Dans le cas des tables temporaires locales, l'identificateur peut contenir jusqu'à 116 caractères.

Mots réservés

L'identificateur ne doit pas être un mot réservé Transact-SQL. SQL Server conserve les majuscules et les minuscules des mots réservés. Un identificateur qui ne respecte pas toutes ces règles doit toujours être délimité par des crochets ou des guillemets doubles lors de son utilisation dans une instruction Transact-SQL. Les mots réservés dépendent du niveau de compatibilité de la base de données. Ce niveau peut être défini à l'aide de l'instruction ALTER DATABASE.

Voir aussi

Référence

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)

Mots clés réservés (Transact-SQL)

SELECT (Transact-SQL)

UPDATE (Transact-SQL)