急救,谢谢 
 for v_ser in '(select a.nbr1,
                       a.nbr2,
                       a.dura,
                       a.date
                  from'||TABLENAME1||'a'||
                 'order by a.nbr1,
                       a.nbr2,
                       a.dura,
                       a.date)'   loop
    if key = v_ser.a.nbr1|| v_ser.a.nbr2||
       v_ser.dura || v_ser.date then
      insert into TABLENAME2
        (nbr1, nbr2, dura, date)
      values
        (v_ser.nbr1,
         v_ser.nbr2,
         v_ser.duration,
         v_ser.date);
    end if;
    key = v_ser.nbr1 || v_ser.nbr2 || v_ser.dura ||
           v_ser.date;
  end loop;
这段代码报PLS-00103:Encountered the symbol "LOOP" when expecting one of the following错误,哪位大师帮解答下!谢谢!

解决方案 »

  1.   

    for v_ser in '(select a.nbr1, 
                          a.nbr2, 
                          a.dura, 
                          a.date 
                      from'||TABLENAME1||'a'|| 
                    'order by a.nbr1, 
                          a.nbr2, 
                          a.dura, 
                          a.date)' ;
    open v_ser for v_sql;  --15行这块代码15行报ORA-00972 identitify is too long
    我定义的v_sql varchar2(4000);  大家帮看看什么问题啊