[解決済み] T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?
2022-03-21 07:24:33
質問
SQL Serverでは、外部キー制約の無効化および有効化はサポートされていますか?または、唯一の選択肢は
drop
で、次に
再
create
制約ですか?
解決方法は?
データベース内のすべての制約を無効にしたい場合、次のコードを実行するだけです。
-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
元に戻すには、実行します。(もちろん印刷はオプションで、テーブルをリストアップしているだけです)
-- enable all constraints
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
私は、あるデータベースから別のデータベースにデータを投入するときに、この方法が役に立つと思います。これは、制約を削除するよりもはるかに良いアプローチです。あなたが言ったように、データベース内のすべてのデータを削除し、再投入するときに便利です(例えば、テスト環境において)。
すべてのデータを削除する場合、次のようなことが考えられます。 この解決策 が参考になります。
また、すべてのトリガーを無効化すると便利な場合があります。 こちら .
関連
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] 外部キーはNULLや重複にできますか?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] カラムの変更:NULLをNOT NULLに変更する
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み] SQL Serverで、指定したテーブルを参照しているすべての外部キーを一覧表示するにはどうすればよいですか?
-
[解決済み] テーブルやカラムに対するすべての外部キーを確認するにはどうすればよいですか?
-
[解決済み】MySQLで外部キー制約を追加できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】フラットファイルの日付カラムで「キャスト指定に無効な文字値があります」を修正する方法とは?
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] 等値演算で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の照合の競合を解決できない
-
[解決済み] Sqlサーバーに制約が存在するかどうかを確認する方法は?
-
[解決済み] 外部キー制約のあるテーブルを切り捨てるには?
-
[解決済み] 1つのSQLクエリでデータベースからすべてのテーブルを削除する方法は?
-
[解決済み】制約を一時的にオフにする(MS SQL)
-
[解決済み】TSQLを使用してデータベース内のすべてのテーブルを切り詰めるには?
-
[解決済み】SQL Azureのデータベースをローカルの開発サーバーにコピーする方法は?