sql >> データベース >  >> RDS >> Oracle

Oracle SQL:Selectステートメントを使用した挿入でシーケンスを使用

    シーケンスを使用してキーを生成する前にデータをグループ化すると仮定すると、次のようなものが必要なように聞こえます

    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. R12.2オンラインパッチでのシードデータの処理

    2. コマンドラインからのsqlplusステートメント

    3. すべてのストアドプロシージャを一覧表示するクエリ

    4. 'IN'句から順序を維持する