- 締切済み
列の順番を変えたい
Oracle 8i SQLPlusにて、下記コマンドをした場合 desc t_syain t_syain_id t_syain_name t_syain_address1 t_syain_address2 t_syain_telno t_syain_cd と表示されます また、 SQLPlusにて、下記コマンドをした場合 select * from t_syain t_syain_id t_syain_name t_syain_address1 t_syain_address2 t_syain_telno t_syain_cd の順でレコードが表示されます そこで、これを t_syain_cd を6番目→2番目に変えたい場合、どのようなコマンドをしたらいいのでしょうか? t_syain_id t_syain_cd t_syain_name t_syain_address1 t_syain_address2 t_syain_telno ご存知の方、ご教示の程宜しくお願いします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- atkuma
- ベストアンサー率11% (5/45)
ワイルドカードを使うから、ダメなんす! select文でやるなら、 select t_syain_id ,t_syain_cd ,t_syain_name ,t_syain_address1 ,t_syain_address2 ,t_syain_telno from t_syain ざんす。 どうしても、ワイルドカードを使いたいなら、テーブルをその順番で作成しなはれ。ワイルドカードは、業務アプリなら、パフォーマンスを問われるから、ふつう使わないでよ!
- ossan_hiro
- ベストアンサー率66% (88/132)
select * from t_syain を使わないで select t_syain_id,t_syain_cd,t_syain_name, t_syain_address1,t_syain_address2, t_syain_telno from t_syain というように記述するだけでいいのでは? #私はあまりselectで*はあまり使わないようにしてます。 テーブルの格納されている列の順をどうしても変更したい場合は再作成になります。 データを残したいのであれば create table hoge as select * from t_syain などで一度バックアップし、 再作成後に insert into t_syain (select t_syain_id,t_syain_cd,t_syain_name, t_syain_address1,t_syain_address2, t_syain_telno from hoge ) でデータを登録しなおす等が必要です。
- chukenkenkou
- ベストアンサー率43% (833/1926)
Oracleには詳しくないですが。。。 ビューを定義し、ビュー経由で操作する方法にすれば、簡単に行えると思いますが? create view v_t_syain as select t_syain_id,t_syain_cd,t_syain_name, t_syain_address1,t_syain_address2, t_syain_telno from t_syain