データベースで更新する必要がある 2 つのテーブルがあります。これらのテーブルを別のデータベースのデータから更新しています。テーブル 1 のレコードが更新された場合、テーブル 1 の古い情報をテーブル 2 に格納する必要があります。比較を行い、必要に応じてテーブル 2 を更新するためのロジックが必要です。私の質問は、これを行うための最良の方法は何ですか? ストアド プロシージャが最適な方法だと考えていますが、よくわかりません。
これはより視覚的な説明です。
Table 1
Student Grade
james 6
sarah 5
Table 2
EMPTY
以下のデータは、別のデータベースから取得したものだとしましょう。
Other Database
Student Grade
james 6
sarah 4
tom 7
これは、私が何をする必要があるかを説明するのに役立つかもしれないずさんなロジックです。
--If records match do nothing
IF otherDatabase.student = table1.student AND otherDatabase.grade = table1.grade THEN do nothing
--If partial match copy old data to table 2 and insert new data to table1
IF otherDatabase.student = table1.student AND otherDatabse.grade != table1.grade
THEN copy table1.student to table2.student AND copy table1.grade to table2.grade THEN UPDATE table1.grade from otherDatabase.grade
--If no match copy new data to Table1
IF otherDatabase.student != table1.student AND otherDatabase.grade != table1.grade THEN INSERT otherDatabase.student AND otherDatabase.grade INTO table1
私の例では、ジェームズは触れられず、サラはテーブル 2 に移動され、新しいグレードでテーブル 1 に挿入され、トムはテーブル 1 に挿入されます。
これが意味をなさない場合は、申し訳ありません。必要に応じて明確にさせてください。ありがとう