シナリオ:
あなたはSQLServer開発者として働いています。会社の標準に従って、デフォルトの制約の名前を変更するために使用できるスクリプトを準備する必要があります。あなたの会社は、デフォルトの制約に名前を付けたいと考えています(例:'DF_SchemaName_TableName_ColumnName'解決策:
sp_renameストアドプロシージャを使用して、デフォルトの制約の名前を変更できます。単一のデフォルト制約の名前を変更するには、以下のようなスクリプトを使用できますExec sp_rename'Current_Default_Constraint_Name'、'New Default Constraint Name'
すべてのデフォルト制約に対してこのスクリプトを実行する必要があるため、以下のクエリを使用できます。名前の変更デフォルト制約を生成します。
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
データベースの1つで上記のクエリを実行すると、以下の結果が得られました。一部のテーブルを除外する場合は、いつでもwhere句でフィルタリングできます。
命名規則に従ってSQLServerデータベースのすべてのデフォルト制約の名前を変更する方法 |
ビデオデモ:SQLServerデータベースの命名規則に従ってすべてのデフォルトの制約の名前を変更する方法