Spécifier des valeurs par défaut pour les colonnes

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Vous pouvez utiliser SQL Server Management Studio (SSMS) pour spécifier une valeur par défaut qui sera entrée dans la colonne de table. Vous pouvez définir une valeur par défaut en utilisant l’Explorateur d’objets ou en exécutant Transact-SQL.

Si vous n’assignez aucune valeur par défaut à la colonne et que l’utilisateur laisse la colonne vide, alors :

  • Si vous définissez l’option pour autoriser les valeurs Nul, NULL est inséré dans la colonne.

  • Si vous n'avez pas choisi Oui pour Nul autorisé, la colonne reste vide, mais l'utilisateur ne peut pas enregistrer la ligne avant d'avoir fourni une valeur pour la colonne.

Limites

Avant toute chose, tenez compte des limitations et restrictions suivantes :

  • Si votre entrée dans le champ Valeur par défaut remplace une valeur par défaut liée (qui est affichée sans parenthèses), vous êtes invité à annuler la liaison de la valeur par défaut et à la remplacer par la nouvelle valeur par défaut.

  • Pour entrer une chaîne de caractères, placez la valeur entre guillemets simples ('). N’utilisez pas de guillemets doubles ("), car ils sont réservés aux identificateurs entre guillemets.

  • Pour entrer une valeur numérique par défaut, entrez le nombre sans guillemets autour.

  • Pour entrer un objet/une fonction, entrez le nom de l'objet/fonction sans guillemets autour.

Remarque

Dans Azure Synapse Analytics, seules les constantes peuvent être utilisées pour une contrainte par défaut. Une expression ne peut pas être utilisée avec une contrainte par défaut.

autorisations

Les actions décrites dans cet article nécessitent l’autorisation ALTER sur la table.

Utiliser SQL Server Management Studio pour spécifier une valeur par défaut

Vous pouvez utiliser l’Explorateur d’objets dans SSMS pour spécifier une valeur par défaut pour une colonne de table. Pour ce faire, procédez comme suit :

  1. Connectez-vous à votre instance SQL Server à l’aide de SSMS.

  2. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table contenant les colonnes dont vous souhaitez modifier l’échelle et sélectionnez Conception.

  3. Sélectionnez la colonne pour laquelle vous souhaitez spécifier une valeur par défaut.

  4. Sous l'onglet Propriétés des colonnes , entrez la nouvelle valeur par défaut dans la propriété Valeur ou liaison par défaut .

    Pour entrer une valeur par défaut numérique, entrez le nombre. Pour un objet ou une fonction, entrez son nom. Pour une valeur par défaut alphanumérique, entrez la valeur dans des guillemets simples.

  5. Dans le menu Fichier, sélectionnez Enregistrer <nom_table>.

Utiliser Transact-SQL pour spécifier une valeur par défaut

Plusieurs possibilités s’offrent à vous pour spécifier une valeur par défaut pour une colonne en utilisant T-SQL. Dans chacun des exemples suivants, vous pouvez ouvrir une nouvelle requête Transact-SQL avec ces étapes.

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple dans la fenêtre de requête, puis sélectionnez Exécuter.

Utiliser ALTER TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT
); -- Allows nulls.
GO

INSERT INTO dbo.doc_exz (column_a)
VALUES (7);
GO

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50 FOR column_b;
GO

Utiliser CREATE TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT DEFAULT 50
);

Utiliser une contrainte nommée

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50
);