0

LISTAGG 関数を使用してテーブルからデータを取得することにより、新しく挿入された行を別のテーブルに挿入するトリガーを作成しています。ここに、insert ステートメントと select ステートメントがあります。ORA-00937: not a single-group group function エラーが発生します。カテゴリには、複数の値を ; で区切った文字列が必要です。. JOBS_JOBCLASS、JOBS_CLASSIFICATION テーブルからカテゴリを取得する他の方法はありますか?

スニペットは次のとおりです。

 INSERT INTO jobs_tfour_data
    (
       jobid,
       title,
       reference,
       salary,
       location,
       department,
       grade,       
       opendate,
       closedate,
       description,
       internal,
       category
    )     
   select :new.jobid,:new.TITLE,:new.REFERENCE,:new.SALARY,LOCATIONNAME,DEPTNAME,GRADENAME,:new.OPENDATE,:new.CLOSEDATE,:new.description,:new.internal, LISTAGG(CLASSNAME,'; ') WITHIN GROUP (order by cj.CLASSID) as category
   from JOBS_LOCATION l , JOBS_DEPARTMENT d, JOBS_GRADE g,JOBS_JOBCLASS cj ,JOBS_CLASSIFICATION c 
   where  
   l.locationid = :new.locationid 
   and d.deptid = :new.departmentid 
   and g.gradeid =  :new.gradeid  
   and cj.jobid = :new.jobid
   and cj.classid = c.classid   
    ;
4

1 に答える 1