sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo cambiar el nombre de todas las restricciones predeterminadas de acuerdo con los estándares de nomenclatura o la convención de nomenclatura en SQL Server - Tutorial de SQL Server / TSQL, parte 93

Escenario:

Está trabajando como desarrollador de SQL Server. Debe preparar los scripts que se pueden usar para cambiar el nombre de las restricciones predeterminadas según los estándares de su empresa. Su empresa desea nombrar las restricciones predeterminadas, por ejemplo, 'DF_SchemaName_TableName_ColumnName'

Solución:

Podemos usar el procedimiento almacenado sp_rename para cambiar el nombre de las restricciones predeterminadas. Para cambiar el nombre de una Restricción Predeterminada, podemos usar un script como el siguiente
Exec sp_rename 'Current_Default_Constraint_Name','New Default Constraint Name'
ya que necesitamos ejecutar este script para todas las restricciones predeterminadas, podemos usar la siguiente consulta para generar restricciones predeterminadas de cambio de nombre.
 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
 
 
Ejecuté la consulta anterior en una de las bases de datos y obtuve los siguientes resultados. Si desea excluir algunas tablas, siempre puede filtrarlas en la cláusula where.
Cómo cambiar el nombre de todas las restricciones predeterminadas en la base de datos de SQL Server de acuerdo con la convención de nomenclatura

Video de demostración:cómo cambiar el nombre de todas las restricciones predeterminadas de acuerdo con las convenciones de nomenclatura en la base de datos de SQL Server