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

SQLServerで制約のある列を削除する方法

    この記事では、SQL Serverデータベースの列に既存の制約がある場合に、その列を削除する方法を示します(ヒント:最初に制約を削除する必要があります)。

    列を削除しようとしたことがある場合は、次のように言います。

    ALTER TABLE Tasks
        DROP COLUMN TaskCode;
    GO
    

    次のようなエラーが発生する場合のみ:

    Msg 5074, Level 16, State 1, Line 1
    The object 'taskcode_unique' is dependent on column 'TaskCode'.
    Msg 4922, Level 16, State 9, Line 1
    ALTER TABLE DROP COLUMN TaskCode failed because one or more objects access this column.

    その理由は、列に既存の制約があり、制約がある場合はテーブルを削除できないためです。

    したがって、テーブルを削除する前に制約を削除する必要があります。

    最初に制約を削除

    制約を削除する方法は次のとおりです。

    ALTER TABLE Tasks
        DROP CONSTRAINT taskcode_unique;
    GO
    

    結果:

    Commands completed successfully.

    次にテーブルをドロップします

    制約を削除したので、先に進んでテーブルを削除できます:

    ALTER TABLE Tasks
        DROP COLUMN TaskCode;
    GO
    

    結果:

    Commands completed successfully.

    1. MySQLで1か月あたりの総売上高を計算する方法は?

    2. SQLite Rtrim()のしくみ

    3. CTEエラー:アンカーと再帰部分の間でタイプが一致しません

    4. UncaughtTypeErrorはundefinedのメソッド'opendatabase'を呼び出すことができません-cordova3.5のSQLiteプラグイン