PL/SQL调试出现的错误
Compilation errors for PROCEDURE JTJ.CARINFO
#13#10Error: PLS-00103: 出现符号 "NUMBER"在需要下列之一时:
       :=.(@%;
       符号 ":=" 被替换为 "NUMBER" 后继续。
Line: 5
Text: rCnt number;
#13#10Error: PLS-00103: 出现符号 "IF"在需要下列之一时:
       .(*@%&-+;/atformodrem
          <an exponent (**)>andorgrouphavingintersectminusorderstart
          unionwhereconnect||
       符号 ";" 被替换为 "IF" 后继续。
Line: 7
Text: if( rCnt >0) then
#13#10Error: PLS-00103: 出现符号 "ELSE"在需要下列之一时:
       .(*@%&-+;/atmodremreturn
          returning<an exponent (**)>andor||
       符号 ";" 被替换为 "ELSE" 后继续。
Line: 11
Text: else
#13#10Error: PLS-00103: 出现符号 "END"在需要下列之一时:
       if
Line: 15
Text: END

解决方案 »

  1.   

    执行存储过程不用executebegin
    CARINFO (1,2,3);
    edn;
      

  2.   

    create or replace  procedure CARINFO
    (PCARID IN NUMBER,PCAR_CLASS IN NUMBER,PCAR_MARK IN NUMBER)    
    AS 
    rCnt number(20);
      BEGIN
         --rCnt number;
         select count(1)into rCnt from CAR_ZHJ where CARID=PCARID;
       if( rCnt >0) then
            UPDATE CAR_ZHJ
            SET CAR_CLASS=PCAR_MARK,CAR_MARK=PCAR_MARK
            where CARID=PCARID;
        else
            INSERT INTO CAR_ZHJ(CARID,CAR_CLASS,CAR_MARK)
            VALUES(PCARID,PCAR_CLASS,PCAR_MARK);
        end  if;END CARINFO;
      

  3.   

    lz缺了很多;oracle中语句用;结尾
    if用法如下if ... then
     ...
    elseif ... then
    ...
    else
    ...
    end if;
      

  4.   

    create or replace  procedure CARINFO
    (PCARID IN NUMBER,PCAR_CLASS IN NUMBER,PCAR_MARK IN NUMBER)    
    AS 
      BEGIN
         rCnt number;
         select count(1)into rCnt from CAR_ZHJ where CARID=PCARID;
       if( rCnt >0) then
            UPDATE CAR_ZHJ;
            SET CAR_CLASS=PCAR_MARK AND CAR_MARK=PCAR_MARK;
            where CARID=PCARID;
        else
            INSERT INTO CAR_ZHJ(CARID,CAR_CLASS,CAR_MARK);
            VALUES(PCARID,PCAR_CLASS,PCAR_MARK);;
        end if; 
    END CARINFO;
      

  5.   


    执行存储过程不用executebegin
    CARINFO (1,2,3);
    edn;--
    不好意思回答错了
    sqlplus中execute 存储过程是可以的