Scenario:
Stai lavorando come sviluppatore di SQL Server, devi preparare gli script che possono essere utilizzati per rinominare i vincoli predefiniti secondo gli standard della tua azienda. La tua azienda desidera assegnare un nome ai vincoli predefiniti, ad esempio "DF_SchemaName_TableName_ColumnName"Soluzione:
È possibile utilizzare sp_rename Stored procedure per rinominare i vincoli predefiniti. Per rinominare un singolo vincolo predefinito possiamo utilizzare uno script come di seguitoExec sp_rename 'Current_Default_Constraint_Name','New Default Constraint Name'
poiché dobbiamo eseguire questo script per tutti i vincoli predefiniti, possiamo utilizzare la query seguente per generate rename Default Constraints.
SELECT 'exec sp_rename '''
+Schema_name(d.Schema_id)+'.'
+ '' + d.Name + ''''
+ ',''DF_' +Schema_Name(d.schema_id)
+'_'+t.name
+'_'+c.name+'''' as RenameDefaultConstraintQuery
FROM sys.default_constraints d
INNER JOIN sys.columns c ON
d.parent_object_id = c.object_id
AND d.parent_column_id = c.column_id
INNER JOIN sys.tables t ON
t.object_id = c.object_id Eseguo la query sopra su uno dei database e ho ottenuto i risultati sotto. Se vuoi escludere alcune tabelle puoi sempre filtrarle nella clausola where.
![]() |
| Come rinominare tutti i vincoli predefiniti nel database di SQL Server in base alla convenzione di denominazione |
Video demo:come rinominare tutti i vincoli predefiniti in base alle convenzioni di denominazione nel database di SQL Server
