DROP DEFAULT (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Supprime une ou plusieurs valeurs par défaut définies par l'utilisateur de la base de données active.

Important

DROP DEFAULTsera supprimé dans la prochaine version de Microsoft SQL Server. N’utilisez DROP DEFAULT pas les applications dans de nouveaux travaux de développement et prévoyez de modifier les applications qui les utilisent actuellement. Utilisez plutôt des définitions par défaut que vous pouvez créer en utilisant le DEFAULT mot-clé de ALTER TABLE ou CREATE TABLE.

Conventions de la syntaxe Transact-SQL

Syntaxe

DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]  

Arguments

S’IL EXISTE
S’applique à: SQL Server (de SQL Server 2016 (13.x) à la version actuelle).

Supprime, de manière conditionnelle, la valeur par défaut uniquement si elle existe déjà.

schema_name
Nom du schéma auquel appartient la valeur par défaut.

default_name
Nom de la valeur par défaut existante. Pour afficher la liste des valeurs par défaut qui existent, exécutez sp_help. Les valeurs par défaut doivent respecter les règles applicables aux identificateurs. La définition du nom de schéma par défaut est facultative.

Notes

Avant de supprimer une valeur par défaut, supprimez sa liaison en exécutant sp_unbindefault si la valeur par défaut est actuellement liée à une colonne ou à un type de données alias.

Après avoir supprimé une valeur par défaut d'une colonne qui autorise les valeurs NULL, NULL est inséré dans cette position lorsque des lignes sont ajoutées et qu'aucune valeur n'est explicitement fournie. Après avoir supprimé une valeur par défaut dans une colonne NOT NULL, vous recevez un message d'erreur lorsque vous tentez d'ajouter des lignes sans fournir explicitement une valeur. Ces lignes sont ajoutées plus tard dans le cadre du comportement typique INSERT de l’énoncé.

Autorisations

Pour exécuter DROP DEFAULT, au minimum, un utilisateur doit avoir l’autorisation ALTER sur le schéma auquel appartient le code par défaut.

Exemples

R. Suppression d'une valeur par défaut

Si un défaut n’a pas été lié à une colonne ou à un type de donnée d’alias, il peut simplement être supprimé en utilisant DROP DEFAULT. L'exemple suivant supprime la valeur par défaut datedflt créée par l'utilisateur.

USE AdventureWorks2022;  
GO  
IF EXISTS (SELECT name FROM sys.objects  
         WHERE name = 'datedflt'   
            AND type = 'D')  
   DROP DEFAULT datedflt;  
GO  

Depuis SQL Server 2016 (13.x), vous pouvez utiliser la syntaxe suivante.

DROP DEFAULT IF EXISTS datedflt;  
GO  

B. Suppression d'une valeur par défaut liée à une colonne

L'exemple suivant dissocie la valeur par défaut associée à la colonne EmergencyContactPhone de la table Contact et supprime la valeur par défaut phonedflt.

USE AdventureWorks2022;  
GO  
   BEGIN   
      EXEC sp_unbindefault 'Person.Contact.Phone'  
      DROP DEFAULT phonedflt  
   END;  
GO  

Voir aussi

CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)