削除することができますので、一時的に制約を使用可能にします。を無効にし、私はこのコードはASPX環境におけるsqldatabaseのDeleteCommandのに入れることにしたいレコードを
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
GO
DELETE FROM Sales.Individual
WHERE CustomerID ='20562'
GO
exec sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
GO
私は、指定を削除して、最初の制約を無効にすることができますこの方法をその後、制約を再確立します。私は何とかそれを働かせることはできません、誰も私はこの問題について行くことができるかについての任意のアイデアを持っていますか?ありがとう!
もし私があなただったら私はしません。 1つの解決策は、関連するすべてのテーブルからデータを削除するストアドプロシージャを作成することです。何らかの理由で関連情報を保持したい場合は、Sales.Individualテーブルに "IsDeleted"と呼ばれるビット列を作成してオフにすることができます。 – dana
これは私が今年見た最悪のアイデアだと熟考しています。 –