O uso de um
ORDER BY dentro de um INSERT SELECT é não é inútil desde que possa alterar o conteúdo dos dados inseridos, ou seja, com uma sequência NEXTVAL incluído no SELECT cláusula. E isso mesmo que as linhas inseridas não sejam classificadas quando buscadas - esse é o papel do seu ORDER BY cláusula em seu SELECT cláusula ao acessar as linhas. Para esse objetivo, você pode usar uma solução alternativa colocando seu
ORDER BY cláusula em uma subconsulta , e funciona:INSERT INTO myTargetTable
(
SELECT mySequence.nextval, sq.* FROM
( SELECT f1, f2, f3, ...fx
FROM mySourceTable
WHERE myCondition
ORDER BY mySortClause
) sq
)