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
我不确定这是不是真的
如果有人能帮助我,我将不胜感激
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