できません ORDER BY
を使用せずに、Oracleがテーブルの行を取得する順序を確実に制御します。 。
さらに、/*+APPEND*/
なし ヒント、Oracleは、テーブルの最後にない可能性のあるスペースがあるヒープテーブルに行を物理的に格納します。 Oracleはそれらを順番に挿入すると思うかもしれませんが、DMLまたは同時アクティビティ(2つ以上のセッションの挿入)によって、異なる物理組織が生成される可能性があります。
INDEX ORGANIZEDテーブルを使用して、PKの順序で行を格納できます。その後、そのテーブルで最も単純なクエリを実行すると、並べ替えられた行のセットが生成されます。 ただし、ORDER BYを指定しない場合、Oracleがその順序で行を選択することを保証するものではありません (クエリとアクセスパスに応じて、行は任意の順序で表示されます)。
順序付きのビューを使用することもできます。これは、アプリケーションに触れることができない場合におそらく最善の策です(テーブルの名前を変更し、テーブルの名前でビューを作成し、アプリケーションにテーブルを照会していると思わせる)。あなたの場合、それが実行可能かどうかはわかりません。