2

データベースの「クリーンアップ」に取り組んでおり、IDENTITY 列を同期する必要があります。ストアド プロシージャを使用してデータを処理し、あるテーブルから次のテーブルにミラーリングします (クリーニングしてデータ型を修正した後)。将来のある時点で、古いテーブルを切り離して新しいテーブルのみを使用したいと思うでしょう。私の質問は、両方が使用されている間に IDENTITY フィールドを同期させる方法です...古いテーブルが削除されると、 IDENTITYフィールドを変更するために、新しいものは自動インクリメントと再構築/変更を続ける必要がありますが、オプションではありません。これは可能ですか、それとももっと良い方法がありますか?

私の他の考えは、両方のテーブルの ID 列を格納するルックアップ テーブルを作成し、新しいテーブルに挿入があるときはいつでも、古い ID と新しい ID を取得してルックアップ テーブルに挿入することでした。古いテーブルが邪魔にならないと、これはちょっと面倒です。

4

2 に答える 2

3

そこに行って、それをしました。古いIDをFKとして新しいテーブルに配置します。古いテーブルを削除する直前に、その列を削除します。

于 2010-12-02T19:09:22.257 に答える
1
  1. 新しいテーブルのIDを非IDフィールドに設定します。
  2. いずれかのデータ入力手順を変更して、新しいテーブルの非IDフィールドに古いテーブルのID値を入力します。
  3. カットオーバー時に、新しいフィールドを自動インクリメントに切り替え、それに応じてシード番号を設定します。
于 2010-12-02T19:10:21.073 に答える