Scénario :
Vous travaillez en tant que développeur SQL Server, vous devez préparer les scripts qui peuvent être utilisés pour renommer les contraintes par défaut selon les normes de votre entreprise. Votre entreprise souhaite nommer les contraintes par défaut, par exemple 'DF_SchemaName_TableName_ColumnName'Solution :
Nous pouvons utiliser la procédure stockée sp_rename pour renommer les contraintes par défaut. Pour renommer une seule contrainte par défaut, nous pouvons utiliser un script comme ci-dessousExec sp_rename 'Current_Default_Constraint_Name','New Default Constraint Name'
car nous devons exécuter ce script pour toutes les contraintes par défaut, nous pouvons utiliser la requête ci-dessous pour générer des contraintes par défaut pour renommer.
SELECT 'exec sp_rename ''' +Schema_name(d.Schema_id)+'.' + '' + d.Name + '''' + ',''DF_' +Schema_Name(d.schema_id) +'_'+t.name +'_'+c.name+'''' as RenameDefaultConstraintQueryFROM 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
J'exécute la requête ci-dessus sur l'une des bases de données et j'obtiens les résultats ci-dessous. Si vous souhaitez exclure certaines tables, vous pouvez toujours les filtrer dans la clause where.
Comment renommer toutes les contraintes par défaut dans la base de données SQL Server selon la convention de dénomination |
Démo vidéo :Comment renommer toutes les contraintes par défaut selon les conventions de dénomination dans la base de données SQL Server