Użycie ORDER BY wewnątrz INSERT SELECT jest nie bezcelowe o ile może zmienić zawartość wstawianych danych, np. sekwencją NEXTVAL zawarte w SELECT klauzula. I to nawet jeśli wstawione wiersze nie będą posortowane podczas pobierania — to rola twojego ORDER BY klauzula w twoim SELECT klauzula podczas dostępu do wierszy.
Aby osiągnąć taki cel, możesz zastosować obejście, umieszczając ORDER BY klauzula w podzapytaniu i działa:
INSERT INTO myTargetTable
(
SELECT mySequence.nextval, sq.* FROM
( SELECT f1, f2, f3, ...fx
FROM mySourceTable
WHERE myCondition
ORDER BY mySortClause
) sq
)