0

SQLServerデータベースの設計に問題があります。

何百ものレコードを含む既存のデータベーステーブルがあります。列の1つはタイプNVARCHARですが、ルックアップテーブル内のすべてのデータを含む整数である必要があります。

SQL Serverで、列から新しいルックアップテーブルにデータを取得し、列のデータ型を変更して、新しいルックアップテーブルから正しいIDで値を更新する賢い方法はありますか?

前もって感謝します。

SQLServer2008を使用しています

4

1 に答える 1

3

いいえ、3つのステップとして実行する必要があります。

  1. 新しいルックアップテーブルに値を挿入します
  2. 現在の行を更新して、nvarchar列にルックアップテーブルの適切なID値が含まれるようにします
  3. 列定義を次のように変更しますint
  4. (4th of 3 :-))この列とルックアップテーブルのID列の間に外部キー制約を作成します。

ありがたいことに、値が特に小さい場合を除いて、int値は常にに収まる必要がありnvarcharます(この場合、最初に値を展開する必要があります)。

于 2012-08-24T13:30:49.410 に答える