- 締切済み
列のサイズを縮小するには
NUMBER(5)の列をNUMBER(5,2)に変更したいのですが、良い方法はないでしょうか。 一時表を作りINSERTする方法を試したのですが、定義名が自動の表定義が付けられていてうまくいきません。 列のサイズを縮小し、なおかつ表制約もそのままにする方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- taknt
- ベストアンサー率19% (1556/7783)
回答No.3
Object Browserでやってみたところ レコードがあると ダメでしたね。 レコードを エクセルにコピーして 空にしてやってみると 定義は 変更できたけど、そのコピーしたデータを そのまま貼り付けるのは できませんでした。 その変更した列のデータを調整しないとダメなようです。
- taknt
- ベストアンサー率19% (1556/7783)
回答No.2
オラクルだったら Object Browserを使ってみたら いかがでしょうか?
- 参考URL:
- http://www.sint.co.jp/siob/
- taknt
- ベストアンサー率19% (1556/7783)
回答No.1
一度 ドロップして 再度 クリエイトするしかないですね。 テンポラリのテーブルを作成し、ドロップする前に レコードをその テンポラリに保存し、クリエイトしたら、テンポラリから移せばいいでしょう。
質問者
補足
回答ありがとうございます。 >一度 ドロップして 再度 クリエイトするしかないですね。 制約名がOracleで自動的に付けられたものなのですが、 そのまま引き継げますでしょうか?
お礼
回答ありがとうございました。 試行錯誤した結果、 1.一時的な表(A)を作る 2.元の表(B)からAにINSERTする 3.AをTRUNCATEし、桁数を変更する 4.AからBにデータを戻す の方法で成功しました。