• ベストアンサー

データの並び替え

Oracleで元データを並び替えすることってできますか? INSERTで挿入する順番を間違えてしまいまして。 データを引き出すときにorder by句を付けろと言われたらそれまでなんですが…。

質問者が選んだベストアンサー

  • ベストアンサー
  • goo-tara
  • ベストアンサー率24% (10/41)
回答No.2

以下の方法で、できると思います。 1.テーブルスペースを作成。 2.1のテーブルスペースに、全く、同じ列を持つテーブルを作成。 3.作成したテーブルに元テーブルの全データを挿入。 4.TRUNCATEで、元テーブルのデータを削除。 5.元テーブルに作成したテーブルのデータをソートしてから挿入。 6.作成したテーブルとテーブルスペースを削除。 目的や背景が不明瞭なので、実行することに意義があるかどうかは、判りません。 状況によっては、1は不要かもしれません。テーブルの中のデータの順番を気にされていることから、テーブルスペース内の資源利用についても気にする必要があるのではないかと想定しました。 行をアップデートしても並び順が変わることがあります。 テーブルに対して、行の追加、更新を行う度に処理が必要です。

chanchang
質問者

お礼

ありがとうございます。 やはり意味のないことですね。

その他の回答 (1)

回答No.1

ORDER指定無しの問い合わせ順は、原則として不定です。(挿入順とは限りません) なので、登録内容を改める意義は少ないと思いますよ。 (GROUP指定なしORDER指定なしの非パラレルSQLので、全表検索の場合には、 挿入順で問い合わせ結果が戻されるとは思いますけどね) とりあえず、質問の回答としては、 一度データを消して、再登録という作業を行うしか、挿入順を変える術はありません。

chanchang
質問者

お礼

わかりました。ありがとうございますm(_ _)m

関連するQ&A