販売注文明細 (sDetail) のテーブルがあります。レコードには、Order 参照と STR( 行番号) のキーを持つ事実上の候補インデックスであるインデックスがあります。これは、特定の注文の明細を取得するために使用されます。
シーケンシャル ID である sDetail テーブルにもプライマリ インデックスがあります。
注文は修正される場合があります。注文明細がユーザーによって削除された場合、このテーブルでレコードを削除済みとしてマークします。処理中は通常、SET DELETED ON で実行するため、ユーザーにはこれらの削除されたレコードが表示されません。
ただし、彼が行を再作成すると、「インデックスの一意性に違反しています」というエラーが発生する可能性があることは理解しています。このエラーの発生を回避するために、次の 2 つの方法が考えられます。
いずれか: インデックス 'FOR !DELETED()' にフィルター式を含めて、これらのレコードが実行時に非表示になるようにします。
または : 特定の行のレコードの存在をテストしたい場合は、SET DELETED OFF でレコードの存在をテストし、必要に応じて RECALL します。その後、SET DELETED ON に戻ります。
他の開発者は何をしていますか?それとももっと良い方法がありますか?
ありがとうございました