sql >> Databáze >  >> RDS >> Oracle

Oracle SQL:Použijte sekvenci v insert s příkazem Select

Za předpokladu, že chcete seskupit data před vygenerováním klíče se sekvencí, zní to, jako byste chtěli něco jako

INSERT INTO HISTORICAL_CAR_STATS (
    HISTORICAL_CAR_STATS_ID, 
    YEAR,
    MONTH, 
    MAKE,
    MODEL,
    REGION,
    AVG_MSRP,
    CNT) 
SELECT MY_SEQ.nextval,
       year,
       month,
       make,
       model,
       region,
       avg_msrp,
       cnt
  FROM (SELECT '2010' year,
               '12' month,
               'ALL' make,
               'ALL' model,
               REGION,
               sum(AVG_MSRP*COUNT)/sum(COUNT) avg_msrp,
               sum(cnt) cnt
          FROM HISTORICAL_CAR_STATS
         WHERE YEAR = '2010' 
           AND MONTH = '12'
           AND MAKE != 'ALL' 
         GROUP BY REGION)


  1. AUTONOMOUS_TRANSACTION

  2. Dotaz WHERE_IN se složeným klíčem?

  3. Příklady DAYOFYEAR() – MySQL

  4. Jak mohu přejít z režimu SQL Server Windows na smíšený režim (SQL Server 2008)?