将来必要になるため、テーブルからレコードを削除することは決してないと言われました。テーブルから行を完全に削除するよりも、行を DEACTIVATE できる DELETE 以外の選択肢があることを知ることができますか?
質問する
2122 次
2 に答える
10
テーブルに列を追加できます-またはbit
のように呼び出しますIsActive
IsDeleted
データを作成するときINSERT
は、データが正しい値でマークされていることを確認してください。
New record - IsActive = true
- IsDeleted = false
次に、レコードを使用不可にするにはUPDATE
、逆の方法でレコードにフラグを立てる必要があります。
Update - IsActive = false
- IsDeleted = true
クエリを実行すると、このフラグに従ってデータが除外されます。このタイプの論理的な削除をシステム全体に実装し、レコードを非表示にします。
于 2012-09-14T01:53:20.010 に答える
1
bluefeetと同じパターンを使用しており、非常にうまく機能します。
これを実装するのに役立つかもしれないいくつかのポインタ。
bit
列が null 非許容であることを確認してください。論理的には、レコードが削除されているかどうかがわからない理由はありませんnull
。
また、bit
列のデフォルトを に設定する0
と、insert ステートメントでの参照について心配する必要がなくなります。0
繰り返しますが、論理的には、削除されたレコードを挿入することはないため、レコードを追加するときに値を設定することを覚えておく必要はありません。
于 2012-09-14T03:55:43.310 に答える