ORA-02287: sequence number not allowed here

前端 未结 3 1039
遥遥无期
遥遥无期 2020-12-17 10:05

I am trying to select values from two tables and insert them into one table and calculate the number of placements in total per year. I keep getting an error saying sequence

3条回答
  •  粉色の甜心
    2020-12-17 10:45

    This query raises the exception:

    SELECT cal_id.nextval  , EXTRACT(YEAR FROM start_date) , count(placement_id)
    FROM placement
    group by year;
    

    This is because you cannot select a sequence value in a query with a group by clause.

    Also, a group by clause must include all non-aggregate expressions from the select clause, which yours doesn't. I'm guessing that year is the alias for EXTRACT(YEAR FROM start_date), in which case this is the query you need:

    INSERT INTO placement_cal
    SELECT cal_id.nextval, year, cnt FROM
    ( SELECT EXTRACT(YEAR FROM start_date) year, count(placement_id) cnt
      FROM placement
      group by EXTRACT(YEAR FROM start_date)
    );
    

提交回复
热议问题