Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Insert Select z zamówieniem według

Użycie ORDER BY wewnątrz INSERT SELECT jest nie bezcelowe o ile może zmienić zawartość wstawianych danych, np. sekwencją NEXTVAL zawarte w SELECT klauzula. I to nawet jeśli wstawione wiersze nie będą posortowane podczas pobierania — to rola twojego ORDER BY klauzula w twoim SELECT klauzula podczas dostępu do wierszy.

Aby osiągnąć taki cel, możesz zastosować obejście, umieszczając ORDER BY klauzula w podzapytaniu i działa:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Który typ danych platformy .NET najlepiej nadaje się do mapowania typu danych Oracle NUMBER w NHibernate?

  2. Oświadczenie ORACLE IIF

  3. ALTER &DROP Table DDL z natychmiastowym wykonaniem w bazie danych Oracle

  4. Lista kluczy obcych i tabel, do których się odwołują w Oracle DB

  5. Zrozumienie segmentów Lob (SYS_LOB) w Oracle?