Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment supprimer toutes les contraintes par défaut dans la base de données SQL Server - Tutoriel SQL Server / TSQL Partie 94

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-dessous
Alter 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