Scénář:
Pracujete jako vývojář SQL Serveru, musíte si připravit skripty, které lze použít k přejmenování výchozích omezení podle standardů vaší společnosti. Vaše společnost chce pojmenovat výchozí omezení, např. 'DF_SchemaName_TableName_ColumnName'Řešení:
K přejmenování výchozích omezení můžeme použít sp_rename Stored Procedure. K přejmenování jednoho výchozího omezení můžeme použít skript jako nížeExec sp_rename 'Current_Default_Constraint_Name','New Default Constraint Name'
protože potřebujeme spustit tento skript pro všechna výchozí omezení, můžeme použít níže uvedený dotaz k vygenerovat přejmenovat výchozí omezení.
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 Provedu výše uvedený dotaz na jedné z databází a dostal jsem pod výsledky. Pokud chcete některé tabulky vyloučit, můžete je vždy filtrovat v klauzuli where.
![]() |
| Jak přejmenovat všechna výchozí omezení v databázi SQL Server podle konvence pojmenování |
Video ukázka:Jak přejmenovat všechna výchozí omezení podle konvencí pojmenování v databázi SQL Server
