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

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Vous pouvez utiliser SQL Server Management Studio 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 de SSMS 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 sera inséré dans la colonne.

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

Limitations et restrictions

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 texte, placez la valeur entre des guillemets simples (') ; n'utilisez pas de guillemets doubles ("), car ils sont réservés pour les 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.

Note

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 SSMS 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 .

    Note

    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 Enregistrernom_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 soumettre T-SQL.

ALTER TABLE (T-SQL)

  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 suivant dans la fenêtre de requête, puis sélectionnez Exécuter.

    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
    

CREATE TABLE (T-SQL)

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

CONTRAINTE nommée (T-SQL)

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

Étapes suivantes

Pour plus d’informations, consultez ALTER TABLE (Transact-SQL).