メインテーブルと作業中のテーブルの2つのテーブルがあります。レコードが操作されている間、挿入/更新はすべてWIPテーブルに挿入されます。これにより、検証チェックなどが可能になります。WIPテーブルデータが存在する場合はそれを表示し、WIPデータが存在しない場合はメインテーブルデータを表示する2つのテーブルを組み合わせたビューを作成したいと思います。
私はこれを行う方法を考え出しましたが、それは最もエレガントな解決策ではないようです。他のアイデアやより良い解決策があるかどうか知りたいですか?
状況を説明する例:
select mt.id, wt.id wip_id, isnull(wt.name,mt.name) name,
isnull(wt.address, mt.address) address
from main_table mt full outer join
wip_table wt on mt.id = wt.orig_id;
したがって、WIPテーブルが存在する場合は結果をプルし、存在しない場合はメインテーブルから結果をプルします。これは単純な例ですが、テーブルには多くの行が含まれる可能性があります。