Scénario :
Vous travaillez en tant que développeur SQL Server, vous devez générer des scripts pour supprimer toutes les contraintes par défaut dans la base de données SQL Server.Solution :
Pour supprimer la contrainte par défaut, nous utilisons la syntaxe ci-dessousAlter Table [SchemaName].[TableName]Drop Constraint [Constraint Name]
La requête ci-dessous peut être utilisée pour générer des scripts afin de générer toutes les contraintes par défaut dans la base de données SQL Server.
USE YourDatabaseNamegoSELECT DB_Name() AS DBName, Schema_name(t.Schema_id)AS SchemaName, t.name AS TableName, c.name AS ColumnName, d.name AS DefaultConstraintName, d.definition AS DefaultDefinition, 'Alter table ['+Schema_name(t.Schema_id)+'].[' +t.name+'] Supprimer la contrainte ['+d.name+']' as DropDefaultConstraintQueryFROM sys.default_constraints dINNER JOIN sys.columns c ON d.parent_object_id =c .object_id AND d.parent_column_id =c.column_idINNER JOIN sys.tables t ON t.object_id =c.object_id
Si vous souhaitez exclure certaines tables ou certains schémas, vous pouvez filtrer davantage les enregistrements en utilisant la clause where dans la requête. J'ai exécuté la requête ci-dessus et elle a généré des scripts de suppression pour toutes les contraintes par défaut.
![]() |
Comment générer des scripts pour supprimer toutes les contraintes par défaut dans la base de données SQL Server |
Prenez les résultats de la colonne DropDefaultConstraint et exécutez pour supprimer les contraintes par défaut.
Démo vidéo :comment supprimer toutes les contraintes par défaut dans la base de données SQL Server