25/10    PLS-00103: Encountered the symbol "VAR_STATECOUNT" when
         expecting one of the following:
         := . ( @ % ;52/15    PLS-00103: Encountered the symbol "LOOP" when expecting one of
         the following:
         if54/1     PLS-00103: Encountered the symbol "END" when expecting one of
         the following:
         begin function package pragma procedure formLINE/COL ERROR

解决方案 »

  1.   

    ELSEIF Var_stateCount=0 THEN Var_LastSentDate:=sysdate;
    这句中应该是ELSIF;
    然后再试一下出哪些错误?
      

  2.   

    LOOP
         exit when tmp_cursor%notfound;--此句要作退出条件 
               fetch tmp_cursor1 into Var_Content;
    --查询每个栏目需要发送的手机号
    Var_Sql:='select PhoneNumber from Tb_Bl_Subscribed where SubjectCode=Var_SubjectCode and to_Date(Sysdate,''dd-mon-yyyy'') >=to_Date(startdate,''dd-mon-yyyy'') and isenable=0';
    open tmp_cursor for Var_Sql;
    LOOP
               fetch tmp_cursor into Var_Phonenumber;
                                exit when tmp_cursor%notfound;--此处也要作退出条件
                     phonenumber(percount) := Var_Phonenumber;
                     Content(percount) := Var_Content;
                     Re1(percount) := '';
                     percount := percount + 1;
    persubjectcount := persubjectcount + 1;
    End LOOP;
    Close tmp_cursor;
               END LOOP;
    --如果发送条数超过0,则表明有人订阅,需要将最后发送日期改为当前日期
    IF persubjectcount >0 THEN
    update Tb_Bl_SubscribeState set LastSendTime=sysdate where subjectcode=Var_SubjectCode;
    END IF;
    Close tmp_cursor1;
      

  3.   

    1. 你的程序段中出现了一个elseif,pl/sql中用elsif或 else if
    2. 看你的错误中没有语义的问题,可能是由于你不小心用了中文字符。