• ベストアンサー

Oracleのorder byについて

こんばんわ、 質問です。 oracle8iを使ったWebアプリケーションがあり oracleのバージョンを10gへアップした際に、web画面で表示させる 項目のソート順が変わってしまいます。 SQLでselectした値を表示させているのですが、表示する値は 同じなのに表示される順序がバージョンアップの前と後で違います。 ちなみにorder by指定してあります。 この事象の原因とoracleのバージョンアップは何か関係があるのでしょうか? 過去に似たような経験がある方のアドバイスや解決方法をご存知の方がおりましたら何卒ご教示ください。 お願い致します。

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

  • ベストアンサー
回答No.1

似たような経験がありますが、どうもOracle10Gになって指定のない 部分については順不同となるようです。仕方のない話ですが。 8i当時は例えば日付、伝票No.、行とあった場合に 日付、伝票No.のみでorder by としていても、データの生成された 時間順序が行No.順であれば暗黙的に行まで並んでくれましたが、 10Gは指定しないと並びません。行がばらばらとなってしまいます。 バグではなく、指定の甘さが原因なのでこれは指定するしかないでしょうね。確実に並ばせたいのであれば。 order by をすべて指定してもそのとおりに並ばないということではないと思いますが。

msak777
質問者

お礼

なるほど、そういうことでしたか。 理解しました。 どうもありがとうございました。

関連するQ&A