1

20 個のテーブルを統合テーブルに置き換えました。これは、「セット ID」を介して各データ セットを分離します (テーブル「A」のすべてのレコードの set_id は 1、テーブル「B」は 2 など)。

次に、テーブルにビューを作成し、それぞれの名前を変更して、ビューが元の 20 個のテーブルと同じ名前になり、set_id を追加するための WHERE を付けました。最終的な結果 - ビューの挿入/更新/選択は引き続き機能します

これは、「sql コマンド ビルダー」で sqldatasource を使用する Web ページを変更する必要がないようにするためです。各ビューに INSTEAD OF INSERT トリガーを追加したので、ビューに挿入すると、set_id が追加され、統合テーブルに挿入されます。ここまでは順調ですね。

部分的に機能します。UPDATE と DELETE は、レコードの実際の ID を知っているため機能します。

ただし、INSERT はそうではありません。コマンドが実際に実行されると、"exec sp_executesql insert intoテッド テーブル" が表示されます。ビューにフィールドを追加しようとすると、それらはデータ ソース コントロールに表示されますが、Web ページには構成可能なフィールドが表示されます。

データベース側でビューを強制的に使用するように変更する方法はありますか? この時点での他の唯一のオプションは、ビューをテーブルに置き換え、AFTER INSERT、UPDATE、DELETE トリガーを追加して統合が更新されるようにし、それらが同期していて問題がないことを確認するプロセスです。

よろしくお願いします。

4

0 に答える 0