遅刻の「言い訳」選手権

お世話になっております。
ORACLEを使用しております。

既存のテーブルに新しいフィールドをSQL文にて
ALTER TABLE TEST_MST ADD TEST_CD VARCHAR2(2);
と言う風に、SQL*PLUSにて追加いたしました。

これを参照しますと、
追加したフィールドがテーブルの一番最後のフィールドに
追加されているのですが、
フィールドの順番を変更したいと考えております。
SQL文にて何か方法はございませんでしょうか。

ご返答を宜しくお願い致します。

A 回答 (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;

以上です。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
ご提示頂いた方法にて対応できそうです。
非常に参考になりました。本当に有難うございました。

お礼日時:2003/05/06 15:57

面倒くさいですが、SELECT文で多分「*」で取得されているのを、取得したい、項目順にコーディングすればできます。



ですが、コーディングは大変になります。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
抽出する側での対応を気付かされました。
当該事例では対応できないので、今後の参考にさせていただきます。

お礼日時:2003/05/06 15:59

一度、テーブルをドロップして再度クリエイトするしかないと思います。

    • good
    • 0
この回答へのお礼

ご回答有難うございます。
SQL文1文では無理があるのですね、、。

お礼日時:2003/05/06 16:00

できなかったと思いますよ。

テーブルを再作成以外は・・。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。

お礼日時:2003/05/06 16:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報