- ベストアンサー
SQLでフィールドの順番を変更したい
お世話になっております。 ORACLEを使用しております。 既存のテーブルに新しいフィールドをSQL文にて ALTER TABLE TEST_MST ADD TEST_CD VARCHAR2(2); と言う風に、SQL*PLUSにて追加いたしました。 これを参照しますと、 追加したフィールドがテーブルの一番最後のフィールドに 追加されているのですが、 フィールドの順番を変更したいと考えております。 SQL文にて何か方法はございませんでしょうか。 ご返答を宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 すでに他の方が回答されている通り、列の順番を 変更する事はできません。 すでに作成されている表から、別表として作成する為には 以下の方法を使えば可能です。 表 table1:列 A,B,C << Cが追加したもので、順番を A,C,Bとしたい場合・・・ create table table2 as select A,C,B from table1; で、順番を変えた表を作成する事ができます。 あとは、元表を削除してリネームですね。 drop table table1; rename table2 to table1; 以上です。
その他の回答 (3)
- PAPA0427
- ベストアンサー率22% (559/2488)
面倒くさいですが、SELECT文で多分「*」で取得されているのを、取得したい、項目順にコーディングすればできます。 ですが、コーディングは大変になります。
お礼
ご回答有難うございます。 抽出する側での対応を気付かされました。 当該事例では対応できないので、今後の参考にさせていただきます。
- taknt
- ベストアンサー率19% (1556/7783)
一度、テーブルをドロップして再度クリエイトするしかないと思います。
お礼
ご回答有難うございます。 SQL文1文では無理があるのですね、、。
- rara_sun
- ベストアンサー率50% (271/539)
できなかったと思いますよ。テーブルを再作成以外は・・。
お礼
ご回答有難うございます。
お礼
ご回答有難うございます。 ご提示頂いた方法にて対応できそうです。 非常に参考になりました。本当に有難うございました。