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

SQLサーバーに存在する場合にのみ外部キー制約を削除するにはどうすればよいですか?

    これは、現在提案されているソリューションよりもはるかに簡単です。

    IF (OBJECT_ID('dbo.FK_ConstraintName', 'F') IS NOT NULL)
    BEGIN
        ALTER TABLE dbo.TableName DROP CONSTRAINT FK_ConstraintName
    END
    

    別のタイプの制約を削除する必要がある場合、これらは2番目のパラメーター位置でOBJECT_ID()関数に渡すための適用可能なコードです:

    C = CHECK constraint
    D = DEFAULT (constraint or stand-alone)
    F = FOREIGN KEY constraint
    PK = PRIMARY KEY constraint
    UQ = UNIQUE constraint
    

    2番目のパラメーターなしでOBJECT_IDを使用することもできます。

    タイプの完全なリストこちら :

    オブジェクトタイプ:

    適用対象:SQLServer2012からSQLServer2014。



    1. これらのクエリを組み合わせてパフォーマンスを向上させる方法は?

    2. SYS_CONNECT_BY_PATH関数を使用する場合のOracleORA-30004、

    3. Oracle SQL:all_tab_columnsから選択しても、既存の列が見つかりません

    4. php、pdomysqlは内部結合で挿入できません