1. ホーム
  2. sql

[解決済み】制約を一時的にオフにする(MS SQL)

2022-04-06 23:44:06

質問

DBのすべての制約(例えばテーブルの関係)を一時的にオフにする方法を探しています。

あるDBのテーブルを別のDBにコピー(INSERTを使用)する必要があります。 私は、(関係を壊さないように)適切な順序でコマンドを実行することによって、それを達成できることを知っています。

でも、制約のチェックを一時的にオフにして、操作の終了後にオンに戻せたら楽なんだけど。

可能ですか?

どのように解決するのですか?

FKとCHECKの制約を無効にすることができます。 <ストライク SQL 2005+のみ . 参照 ALTER TABLE

ALTER TABLE foo NOCHECK CONSTRAINT ALL

または

ALTER TABLE foo NOCHECK CONSTRAINT CK_foo_column

主キーとユニーク制約を無効にすることはできませんが、私が正しく理解していれば、これは問題ないはずです。