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

SQLServerデータベースのすべてのデフォルト制約を削除する方法-SQLServer/TSQLチュートリアルパート94

    シナリオ:

    SQL Server開発者として作業している場合は、SQLServerデータベースのすべての既定の制約を削除するスクリプトを生成する必要があります。

    解決策:

    デフォルトの制約を削除するには、以下の構文を使用します
    AlterTable[SchemaName]。[TableName]DropConstraint [Constraint Name]
    以下のクエリを使用して、SQLServerデータベースにすべてのデフォルトの制約を生成するスクリプトを生成できます。
    USE YourDatabaseName
    go
    SELECT
        DB_Name() AS DBName,
        Schema_name(t.Schema_id)AS SchemaName, 
        t.name AS TableName, 
        c.name AS ColumnName, 
        d.name AS DefaultConstraintName, 
        d.definition AS DefaultDefinition,
        'Alter table ['+Schema_name(t.Schema_id)+'].['
        +t.name+'] Drop Constraint ['+d.name+']' as DropDefaultConstraintQuery
    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
     
     
     
     一部のテーブルまたはスキーマを除外する場合は、クエリでwhere句を使用して、レコードをさらにフィルタリングできます。上記のクエリを実行すると、すべてのデフォルトの制約に対してドロップスクリプトが生成されました。   
    SQLServerデータベースのすべての既定の制約を削除するスクリプトを生成する方法

    DropDefaultConstraint列から結果を取得し、実行してデフォルトの制約を削除します。

    ビデオデモ:SQLServerデータベースのすべてのデフォルトの制約を削除する方法


    1. MicrosoftAccessの進化と未来

    2. Oracle PL / SQL:スタック・トレース、パッケージ名、およびプロシージャ名を取得する方法

    3. SQLite Order By

    4. H2postgresqlモードが機能していないようです