Het gebruik van een ORDER BY
binnen een INSERT SELECT
is niet zinloos zolang het de inhoud van de ingevoegde gegevens kan veranderen, d.w.z. met een reeks NEXTVAL
opgenomen in de SELECT
clausule. En dit zelfs als de ingevoegde rijen niet worden gesorteerd wanneer ze worden opgehaald - dat is de rol van uw ORDER BY
clausule in uw SELECT
clausule bij het openen van de rijen.
Voor een dergelijk doel kunt u een tijdelijke oplossing gebruiken door uw ORDER BY
. te plaatsen clausule in een subquery , en het werkt:
INSERT INTO myTargetTable
(
SELECT mySequence.nextval, sq.* FROM
( SELECT f1, f2, f3, ...fx
FROM mySourceTable
WHERE myCondition
ORDER BY mySortClause
) sq
)