-2

シナリオ:

Database1 (PostgreSQL) があります。このために i) レコードが削除されると、ステータス col. そのレコードは非アクティブに変更されます。ii) レコードが更新されると、現在のレコードは INACTIVE になり、新しいレコードが挿入されます。iii) 挿入は通常どおり行われます。データベース内のすべてのテーブルの各レコードにタイムスタンプ列があります。

Database1 と同期され、Database1 の同じプロパティに従う別の database2 (SQLite) があります。

Database1 は定期的に変更され、すべてのテーブルの CSV ファイルを取得します。CSV には、新しい挿入や更新を含むすべてのデータが含まれます。

要件:

Database1 のデータを新しい CSV と一致させる必要があります。i) CSV にはなく、Database1 にあるレコード (DELETED RECORDS) - これらのレコードは、ステータスを非アクティブに設定する必要があります。ii) CSV には存在するが Database1 には存在しないレコード (INSERTED RECORDS) の場合、これらのレコードを挿入する必要があります。iii) CSV で更新されたレコードについて、ステータスを非アクティブに設定し、新しいレコードを挿入する必要があります。

これらの論理的な実装を手伝ってください!!!

ありがとう

ジャヤクリシュナン

4

2 に答える 2

1

既製のソリューションを探しているのではなく、目的を達成するためのソフトウェアを構築しようとしていると思います。

どのような環境で開発できますか? C? PHP? ジャワ?C#?

多くの環境で、CSV/SQLite/PostgreSQL からすべて読み書きできる多くのオプション。

于 2011-01-26T04:24:18.433 に答える
0

ON DELETE トリガーを使用して、既存の削除動作をオーバーライドできます。

しかし、これは危険だと思います。誰かがこれに依存し、トリガーがそこにない場合、実際の削除が発生します...これをビューまたは何かの背後にカプセル化し、それにトリガーを配置することをお勧めします。または、ストアドプロシージャなどを通過します。

于 2012-09-29T02:48:42.753 に答える