sql >> データベース >  >> RDS >> Sqlserver

SQL サーバー - 再帰的な削除

    それらは最高で最も効率的なものです。本番クエリの場合、 2 を使用します .

    私が考えることができる唯一の他の方法 (IMO) は、テスト環境でのデータの迅速かつ汚い削除にのみ適しています (正しい順序を分析する必要を回避します)

    <オール>
  1. すべての FK を無効にし、必要なデータを削除してから、FK を再度有効にします。 WITH CHECK を再度有効にする必要があるため、これは非効率的です。 FK が信頼できない状態のままになるのを避けるため。これは、保存されているすべてのデータを再検証する必要があることを意味します。
  2. すべての DELETE をリストします 影響を受けるテーブルのステートメントを任意の順序で実行し、FK エラーが発生せずに成功するまで、必要な回数だけバッチを実行します。


    1. ユーザー変数と競合するプリペアドステートメント

    2. データベース:各言語のテーブルまたは言語列を持つ1つのテーブル

    3. MySQL/MariaDBのストアドプロシージャへのNULLパラメータを禁止します

    4. PHPを使用してチェックボックスを選択し、複数の行を削除します