1

タスクに関する情報を保持するテーブルが必要です。PriorityId、StateId、AssignedToUserId など。これらの列は更新できます。タスクの履歴、変更内容、および変更を行ったユーザーを一覧表示できるようにしたいと考えています。テーブルには、更新を行ったユーザーの UpdateUserId テーブルがあります。

同一の「myTable_History」テーブルを作成し、トリガーを使用して更新 (または挿入) 行全体を履歴テーブルに送信する必要がありますか? または、これを行うより良い方法はありますか?

それが違いを生むかどうかはわかりませんが、私はソフト削除を使用しています...そしてメインテーブルのプライマリケットとしてID列を使用しています。

変更を表示する良い方法は確かですが、それは別の問題です。

4

2 に答える 2

3

行レベルおよび列レベルのトラッキングの使用

変更の追跡により、アプリケーションはユーザーが行ったすべての変更を追跡できます。これは組み込みの方法です。

http://msdn.microsoft.com/en-us/library/ms172023(v=sql.90).aspx http://msdn.microsoft.com/en-us/library/bb964713.aspx

サンプル http://blogs.msdn.com/b/davidhardin/archive/2011/02/06/sql-server-2008-column-change-tracking.aspx

于 2012-08-18T08:29:27.297 に答える
0

最も簡単なのは CDC を使用することです。それを行う方法に関する多くのリソース。

于 2012-08-18T06:53:05.027 に答える