PLS-00103: 出现符号 "EXCEPTION"在需要下列之一时:
          ( begin case declare
          end exit for goto if loop mod null pragma raise return select
          update while with <an identifier>
          <a double-quoted delimited-identifier> <a bind variable> <<
          continue close current delete fetch lock insert open rollback
          savepoint set sql execute commit forall merge pipe purge
PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
          end not pragma
          final instantiable order overriding static member constructor
          map

解决方案 »

  1.   

    你的格式写错了吧
    照着这个格式改下吧declare
    ... --定义变量等
    begin
    ...  --具体操作等exception when others then
    ...
    end;
      

  2.   

    把你的exception处理部分用 begin end 包围上
      

  3.   

    IF INSERTING THEN
        l_action :='INSERT';
        ELSIF UPDATING THEN
        l_action :='UPADTE';
        ELSIF DELETING THEN
        l_action :='DELETE';
        
        ELSE
        RAISE_APPLICATION_ERROR(-20001,'You should never ever get thie error.');
        
        END IF;   INSERT INTO R2R.PH_CD_CONFIG_HIST
       (
          ID,
          ACTION,
          TARGET_VALUE,
          CD_TYPE,
          EXPIRED_DAY, 
          FB_TOOL_GROUP, 
          JOB_ACTIVE,
          OCD_WEIGHT,
          CDSEM_WEIGHT,
          USER_ID )
          VALUES
          (
          tmpVar,
          l_action,
          :NEW.TARGET_VALUE,
          :NEW.CD_TYPE,
          :NEW.EXPIRED_DAY, 
          :NEW.FB_TOOL_GROUP, 
          :NEW.JOB_ACTIVE,
          :NEW.OCD_WEIGHT,
          :NEW.CDSEM_WEIGHT,
          :NEW.USER_ID );
     
       EXCEPTION
         WHEN OTHERS THEN
           -- Consider logging the error and then re-raise
           NULL;
          RAISE;
    END ;
      

  4.   

    不是完整的,还有创建的没贴,是我要加一个字段,说明trigger是做的什么动作时报的
      

  5.   

    begin end;
    检查是不是全部配对了
      

  6.   

    现在编译通过,不报错了,但其中有一个表,对于trigger的delete动作,没有痕迹显示,怎么办
      

  7.   

    就是delete时,删除成功,但没有记录trigger的动作
      

  8.   

    看了你上面的部分代码,没上面问题
    那你执行delete动作的时候,R2R.PH_CD_CONFIG_HIST表中是否会有记录产生?
    还是说有一条记录,只是ACTION值为空?
      

  9.   

    就是我ACTION这个字段是我后来加的,然后,我就直接在trigger中声明,所以就报错,不是语法的错误
    就是在R2R.PH_CD_CONFIG_HIST表中没有记录
      

  10.   

    你调试下,看看你delete动作之后,l_action是否改变,会不会进入你insert R2R.PH_CD_CONFIG_HIST哎哟,老火的很,代码都没得,看不出问题
      

  11.   

    代码就是那些代码啊,就只是创建的create、、、那些没贴出来啊,trigger的insert和update有记录,就只是delete的没有记录
      

  12.   


    IF INSERTING THEN
         l_action :='INSERT';
    ELSIF UPDATING THEN
         l_action :='UPADTE';
    ELSE
         l_action :='DELETE';
    END IF;
      

  13.   

    code我觉得没错,insert 时,value一定要与字段一一对应,顺序不能有错是吧?