Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
親テーブルがあり、それを参照する多数の子テーブルがあります。これらの子テーブルには、それらを参照する他の子テーブルがあります。等々。
メインの親テーブルから行を削除して、それをずっと下にカスケードする必要があります。
「ON CASCADE DELETE」にするためにあちこちに制約をドロップ/再作成することはオプションではありません
それらすべてを調べて子行を手動で削除するのは悪夢です。
他のオプションはありますか?
DELETEステートメントには、カスケードするためのパラメーターがありません。
したがって、ユーザーを作成するかON CASCADE DELETE、一連の個別の削除を正しい順序で実行することができます。
ON CASCADE DELETE
テーブル構造を調査し、それに基づいて一連の削除を生成する「スマート削除」プロシージャを作成できますが、個別の削除を作成するよりも、作業が多く、悪夢のようになります。そして、これが機能するためには、これらの制約が必要になりますが、実際には必ずしも望ましいとは限りません。