2
Product Version Oracle 10g

オラクルにいくつかのデータを含むテーブルがあります。Number(10,0) 型の列があります。今、小数を許可するために Number(10,2) に変更したいと思います。しかし、変更するには、オラクルは既存のデータを削除せずに許可していません。私はデータのバックアップを取ることができることを知っています->データを削除します->タイプを変更します->データを挿入します。しかし問題は、シーケンスから値を取得する自動挿入列があることです。したがって、それを挿入すると、それらのIDが変更されます....データを取得するためのキーとして誰かがそのIDを使用しているかどうかはわかりません。では、IDを変更せずに変更するにはどうすればよいですか..

助けてください..

4

2 に答える 2

5
  1. 新しい NUMBER(12,2) 列を追加しますが、名前は異なります。
  2. 古い列のすべての値を変換して、新しい列を更新します。
  3. 古い列を削除します。
  4. 新しい列の名前を目的の名前に変更します。
于 2012-08-30T03:38:16.753 に答える
3

おそらく number(12,2) で精度を維持したいでしょう。たとえば、number(7,2) は、小数点以下 5 桁、小数点以下 2 桁の数値です。

または、トリガーを無効にする/作業を行う/トリガーを有効にすることもできます。

于 2012-08-29T08:33:54.480 に答える