0
私は外部キー制約として11の他のテーブルによって参照されるテーブルを持っています。私はそれから行を削除しようとすると、明らかに他のテーブルをチェックして、他のレコードをカスケードして削除する必要があるかどうかを確認します。私は削除しているテーブルと他のテーブルで制約を無効にしようとしましたが、動作しませんでした(結果パネルにはまだ "影響を受けた0行"の11行があります)。SQL Serverの外部インデックス、トリガーなどをチェックせずに行を削除する
私はすでに子供を削除していますが、どうしてカスケードをチェックするためにこれらのテーブルに移動しないのですか?ここで私はこれをテストしてきました。
BEGIN TRANSACTION
ALTER TABLE Table1 NOCHECK CONSTRAINT ALL
ALTER TABLE Table2 NOCHECK CONSTRAINT ALL
DELETE FROM Table2
WHERE id IN (100, 101)
ALTER TABLE Table2 CHECK CONSTRAINT ALL
ALTER TABLE Table1 CHECK CONSTRAINT ALL
ROLLBACK
「それは働いていない」の追加と、おそらく不要なI/O:このコードを試してみてください - エラーメッセージを共有するように気をつけますか? –
実際のエラーではありません。障害が作動していた場合、他の表に対して結果パネルに「影響を受けた0行」が表示されないことが想像されます。 –
ばかげた質問:id = 100,101のレコードはありますか? –