理想的には、レコードがアクティブであるかどうかを示すためにテーブルに「isActive」フィールドを持たせますが、フィールドを現場にするために複数のストアドプロシージャを変更するすることを意味します。特定の外来キーを無効にする迅速で汚い方法
私は汚れたトリックを思いついて、それを実行するように誘惑しています。結果セットはいくつかの結合によって生成されるので、私はテーブルの外来キーを "*"、 "x"などの記号を少し変更することを考えていました。
恐れるべきことはありますか?
理想的には、レコードがアクティブであるかどうかを示すためにテーブルに「isActive」フィールドを持たせますが、フィールドを現場にするために複数のストアドプロシージャを変更するすることを意味します。特定の外来キーを無効にする迅速で汚い方法
私は汚れたトリックを思いついて、それを実行するように誘惑しています。結果セットはいくつかの結合によって生成されるので、私はテーブルの外来キーを "*"、 "x"などの記号を少し変更することを考えていました。
恐れるべきことはありますか?
他のすべてのストアドプロシージャを変更せずに「非アクティブ」状態にする1つの方法は、レコードがアクティブでない間にレコードを「非アクティブ」テーブルに移動することです。
恐れるべきことはありますか?
特殊文字を追加したために判読不能なデータの不一致が発生しましたか?
後でこの問題を解決する場合は、ストアドプロシージャまたはテーブルをリファクタリングするときが来たと思います。
データベースにアクセスして、特定の行に手動で文字を追加して、単一の顧客などを無効にすることを意味しますか?
追加することはできますか?顧客はWHERE句に(1234、...)を一時的に挿入しないでください。
参照整合性が許せば、そのようなデータを混乱させてはいけないと思います。
私は実際にこのアイデアが好きです:)しかし、あなたはその目的のために多くのミラーテーブルを持つことになります。それにもかかわらず、滑らかです。 – Haoest