Brugen af en ORDER BY
inden for en INSERT SELECT
er ikke meningsløst så længe den kan ændre indholdet af de indsatte data, dvs. med en sekvens NEXTVAL
inkluderet i SELECT
klausul. Og dette selvom de indsatte rækker ikke vil blive sorteret, når de hentes - det er rollen for din ORDER BY
klausul i din SELECT
klausul, når du får adgang til rækkerne.
Til et sådant mål kan du bruge en løsning til at placere din ORDER BY
klausul i en underforespørgsel , og det virker:
INSERT INTO myTargetTable
(
SELECT mySequence.nextval, sq.* FROM
( SELECT f1, f2, f3, ...fx
FROM mySourceTable
WHERE myCondition
ORDER BY mySortClause
) sq
)