SQL Server のバグを発見しました (ここで説明します)。INSERT
外部キーチェックを実行せずにステートメントを強制する可能性があるかどうか疑問に思っていますか? このチェックをサーバー全体で数分間無効にするか、特定のテーブルの FK を無効にする (削除しない) ようにしますか?
3 に答える
4
ALTER TABLE [schema].[table] NOCHECK CONSTRAINT [constraint_name]
それで
ALTER TABLE [schema].[table] CHECK CONSTRAINT [constraint_name]
ただし、これにより FK が信頼されなくなり、制約を再度有効にすると、再検証に時間がかかります。
于 2013-11-06T19:34:25.167 に答える
3
ドロップ コンストレイント
ALTER TABLE Table_Name
DROP CONSTRAINT fk_ConstraintName
操作が完了したら、制約を削除してから、再度作成します。
制約を無効にする
ALTER TABLE MyTable
NOCHECK CONSTRAINT fk_Constraint_Name
制約を有効にする
ALTER TABLE MyTable
CHECK CONSTRAINT fk_Constraint_Name
于 2013-11-06T19:33:08.733 に答える
3
INSERT および UPDATE ステートメントでの外部キー制約の無効化を確認します。
- INSERT および UPDATE ステートメントの外部キー制約を無効にするには
- オブジェクト エクスプローラーで、制約を含むテーブルを展開し、次に Keys フォルダーを展開します。
- 制約を右クリックし、[修正] を選択します。
- [テーブル デザイナー] の下のグリッドで、[外部キー制約を適用] をクリックし、ドロップダウン メニューから [いいえ] を選択します。
- [閉じる] をクリックします。
または単純に次のコマンドを使用します。
ALTER TABLE tablename
NOCHECK CONSTRAINT fk_ConstraintName
于 2013-11-06T19:34:47.910 に答える