sql >> Databasteknik >  >> RDS >> Oracle

Oracle Infoga Välj med beställning efter

Användningen av en ORDER BY inom en INSERT SELECT är inte meningslöst så länge den kan ändra innehållet i den infogade datan, d.v.s. med en sekvens NEXTVAL ingår i SELECT klausul. Och detta även om de infogade raderna inte kommer att sorteras när de hämtas - det är rollen för din ORDER BY sats i din SELECT klausul när du kommer åt raderna.

För ett sådant mål kan du använda en lösning för att placera din ORDER BY sats i en underfråga , och det fungerar:

INSERT INTO myTargetTable
(
  SELECT mySequence.nextval, sq.* FROM
    (   SELECT f1, f2, f3, ...fx 
          FROM mySourceTable
         WHERE myCondition
      ORDER BY mySortClause
    ) sq
)


  1. Automatiserad testning av skrivbordsapplikationen:översikt över ändamålsenlighet och ramverk

  2. Olika tidszonstyper på DateTime-objektet

  3. psycopg2.OperationalError:FATAL:frontend-protokollet stöds inte 1234.5679:servern stöder 2.0 till 3.0

  4. Mata ut SQLite-frågeresultat som ett INSERT-uttalande