PLS-00103: 遇到以下符号之一时遇到符号 "END":

PLS-00103: Encountered the symbol "END" when expecting one of the following:

我不确定这是不是真的

如果有人能帮助我,我将不胜感激

ORA-06550: line 52, column 5: PLS-00103: Encountered the symbol "END" when expecting one of the following:

  • & = - + ; < / > at in is mod remainder not rem <> or != or ~= >= <= <> and or like like2 like4 likec between || member submultiset The symbol ";" was substituted for "END" to continue.

这是代码:

    DECLARE
    N_SUC NUMBER;
    N_CLIENTE NUMBER;
    N_TVENTA NUMBER;
    N_FECHA DATE;
    I_CLIENTE NUMBER;
    I_TVENTA NUMBER;
    begin
    N_SUC := 1;
    N_CLIENTE :=1;
    N_TVENTA :=1;
    I_CLIENTE :=1;
    I_TVENTA := 1;

    for loop_one in 1..4 
    loop
    FOR LOOP_two IN 1..25   
    LOOP

    IF N_TVENTA > 75 THEN
    I_TVENTA:= I_TVENTA + 1;
    END IF;

    if N_CLIENTE <=10 then
    I_CLIENTE:= 1;
    elsif N_CLIENTE >10 AND N_CLIENTE <= 20 then
    I_CLIENTE:= 2;
    elsif N_CLIENTE>20 AND N_CLIENTE <= 30 THEN
    I_CLIENTE:= 3;
    elsif N_CLIENTE>30 AND N_CLIENTE <= 40  then
    I_CLIENTE:= 4;
    elsif N_CLIENTE>40 AND N_CLIENTE <= 50 then
    I_CLIENTE:= 5;
    elsif N_CLIENTE>50 AND N_CLIENTE <= 60 then
    I_CLIENTE:= 6;
    elsif N_CLIENTE>60 AND N_CLIENTE <= 70 then
    I_CLIENTE:= 7;
    elsif N_CLIENTE>70 AND N_CLIENTE <= 80 then
    I_CLIENTE:= 8;
    elsif N_CLIENTE>80 AND N_CLIENTE <= 90 then
    I_CLIENTE:= 9;
    elsif N_CLIENTE>90 AND N_CLIENTE <= 100 then
    I_CLIENTE:= 10;                   
    end if;

    SELECT SYSDATE into N_FECHA FROM dual;
    INSERT INTO marcos.VENTA
    VALUES(SEQ_VENTA.nextval, 0, N_FECHA|| '-'||SEQ_VENTA, N_SUC, I_CLIENTE, I_TVENTA);

    N_CLIENTE:= N_CLIENTE+1;
    N_TVENTA:=N_TVENTA+1
    END LOOP;

    N_SUC := N_SUC+ 1;
    end loop ;
    commit; 
    EXCEPTION
    WHEN OTHERS THEN
      dbms_output.put_line('Se ha producido un error') ;
    rollback;               
    end;

您在第 51 行中遗漏了一个行终止符(分号),此处:

N_TVENTA:=N_TVENTA+1