中間テーブルを用意して、インポートを2回行う運用にすると、少しマシになるでしょう。
送信されてきたデータは、中間テーブルに新規レコードとしてインポートします。目的のテーブルからそのテーブルの全レコードを照合インポートします。インポート結果から中間テーブルへ、関連レコードへ移動をすると、インポートに成功したレコードのみになります。そのレコードを削除(理論削除でも物理削除でも)すると、インポートできなかったレコードが残ります。時間をおいて、そのレコードをインポートします。残りがなくなるまで続けておきます。
1レコードが永遠にロックされている事は通常は無いでしょうから、これで同期できるはずです。
1日に1回このテーブルのデータを[一致するレコードのインポート]で更新を行っていますが、
インポートのタイミングで誰かが編集しているとレコードがロックされデータ更新が行われないということが発生しています。
確実に更新できる様な仕組みがあれば教えていただけないでしょうか?
]]>