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

SQLServerデータベースですべての外部キー制約を無効にする方法-SQLServer/TSQLチュートリアルパート77

    シナリオ:

    あなたはSQLServer開発者として働いています。SQLServerデータベースのすべての外部キー制約を無効にするスクリプトを提供する必要があります。これは、1回限りのデータをロードする必要があり、データが参照整合性に違反していても問題がないシナリオである可能性があります。

    解決策:


    無効化スクリプトを生成する前に、SQLServerデータベースから外部キー制約のリストを取得しましょう。

    --Get List of Foreign Key Constraints if Enabled or Disabled
        USE YourDatabaseName
        GO
        Select 
        Schema_name(Schema_id) as SchemaName,
        object_name(Parent_object_id) as TableName,
        name as ForeignKeyConstraintName,
        Case When Is_disabled=1 Then 'No'
        ELSE 'Yes' End as IsEnabled
        from sys.foreign_keys
     
     
     
     
     
     
     
     
    SQLServerで外部キー制約が有効か無効かを確認する方法
     
    次に、SQLServerデータベースで外部キー制約を無効にするスクリプトを生成しましょう

    USE YourdatabaseName
    go
    -- Drop Foreign Key Constraints Script 
    SELECT distinct 'ALTER TABLE ' 
    + '['+ Schema_name(FK.schema_id) 
    + '].['+ OBJECT_NAME(FK.parent_object_id) 
    + ']'+ ' NOCHECK  CONSTRAINT ' 
    + '[' + FK.name + ']' AS DisableConstraintQuery
     FROM   sys.foreign_keys AS FK
     where is_disabled=0
     
     
     
     
    SQLServerデータベースのすべての外部キー制約を無効にするスクリプトを生成する方法
     

    ビデオデモ:SQLServerデータベースですべての外部キー制約を無効にする方法


    1. MySQLで日時値に時間を追加する方法

    2. SQL Serverデータベース(T-SQL)にログファイルを追加する方法

    3. 中括弧とワイルドカードでエスケープするOracleテキスト

    4. SQLServerでINSERTINTOとしてデータをエクスポートする