Použití ORDER BY
v rámci INSERT SELECT
není zbytečné pokud dokáže změnit obsah vložených dat, tedy sekvencí NEXTVAL
zahrnuto v SELECT
doložka. A to i v případě, že vložené řádky nebudou při načítání setříděny – to je role vašeho ORDER BY
klauzule ve vašem SELECT
klauzule při přístupu k řádkům.
Pro takový cíl můžete použít řešení umístěním ORDER BY
klauzule v dílčím dotazu a funguje to:
INSERT INTO myTargetTable
(
SELECT mySequence.nextval, sq.* FROM
( SELECT f1, f2, f3, ...fx
FROM mySourceTable
WHERE myCondition
ORDER BY mySortClause
) sq
)