sql >> Database teknologi >  >> RDS >> Oracle

Oracle Indsæt Vælg med bestil efter

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
)


  1. Sådan opretter du en PostgreSQL-database

  2. Fejlfinding af SQL Server Always On Availability Groups

  3. Advarsel:mysqli_connect():(HY000/2002):Ingen sådan fil eller mappe

  4. Sådan konverteres mellem datoformater i SQL Server ved hjælp af CAST()