2009-07-23 18 views
0

私はいくつかの計算されたデータを含むテーブル(すなわちReportData)を持っています。生徒数、平均成績ポイントなどが表示されます。データのようなレポートがたくさんあります。よく働く。このシナリオでは、トリガーを使用できますか?

ここでいくつかのデータを変更すると、他のテーブル(ClassRoomテーブルなど)でReportDataテーブルを更新する必要があります。

私は、私がClassRoomテーブルでINSERT、UPDATEまたはDELETEを実行すると、ReportDataテーブル、データを更新するストアドプロシージャを実行できると考えました。

だから私はトリガがこれには良いと思った。確信はないけど。どうして?まあ、すべてのカスタム数学を行うために使用されるストアドプロシージャは、実際にはときどきClassRoomテーブルをクエリします。それで、最新の(例えば変更された)データにアクセスしますか?

例えば、 ?> 5.そのフィールドをチェックすることになりますストアドプロシージャは(、教室のテーブルの上に、データとして4または5

感謝を取得します:)

- 私は4からフィールド「NumberOfStudents」を変更した場合

注:ClassRoomsなどは、この説明の目的では偽物です。

答えて

1

あなたはいつもあなたに自身ののデータが変更されていることがわかります。

0

多分私はあなたの質問に間違いがあるかもしれませんが、SQL Server 2008には2つのタイプのトリガがあります:変更後に発生するAFTERとINSTEAD OF(以前に適用したテーブルを変更する)。 ClassRoomテーブルを更新し、新しい値を使用してReportDataテーブルを再計算する場合は、AFTERトリガを使用します。

関連する問題