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