sql >> データベース >  >> RDS >> Sqlserver

SQLServerの命名規則または命名規則に従ってすべてのデフォルト制約の名前を変更する方法-SQLServer/TSQLチュートリアルパート93

    シナリオ:

    あなたは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データベースの命名規則に従ってすべてのデフォルトの制約の名前を変更する方法

    1. MySQLで先頭と末尾の文字を削除する方法

    2. SQL Serverのsys.objects、sys.system_objects、およびsys.all_objectsの違い

    3. SQLServerでのグループ化された連結

    4. MariaDB USER()の説明