SQLを使用して正確な編集を行うことはできません。 Unix diffなどのアルゴリズムが必要です ファイル上(行レベルで機能します)。文字レベルでは、アルゴリズムはレーベンシュタイン距離
のバリエーションになります。 。 diffの場合 ニーズに合わせて、ダウンロードし、ストアドプロシージャを記述して呼び出し、データベースで使用できます。これはかなり高価になります。
異なるバージョンを維持するというあなたの質問の部分ははるかに簡単です。 2つの列を追加しますEffDate およびEndDate 各レコードに。 EndDate is NULLを検索すると、最新バージョンを取得できます。 いつでもアクティブなバージョンを見つけます。 Merge 一般に、このようなテーブルを維持するのに役立ちます。