For loop for循环中的语法错误

For loop for循环中的语法错误,for-loop,oracle11g,ora-06550,pls-00103,For Loop,Oracle11g,Ora 06550,Pls 00103,从命令中的第1行开始出错: DECLARE x NUMBER := 0; counter NUMBER := 0; BEGIN FOR i IN 1..4 LOOP x := x + 1000; counter := counter + 1; INSERT INTO temp VALUES (x, counter, 'in OUTER loop'); END; END LOOP; COMMIT; END; 错误报告:

从命令中的第1行开始出错:

DECLARE
   x NUMBER := 0;
   counter NUMBER := 0;
BEGIN
   FOR i IN 1..4 LOOP
      x := x + 1000;
      counter := counter + 1;
      INSERT INTO temp VALUES (x, counter, 'in OUTER loop');
      END;
   END LOOP;
   COMMIT;
END;
错误报告:


第一个
结束不应存在:

DECLARE
   x NUMBER := 0;
   counter NUMBER := 0;
BEGIN
   FOR i IN 1..4 LOOP
      x := x + 1000;
      counter := counter + 1;
      INSERT INTO temp VALUES (x, counter, 'in OUTER loop');
   END LOOP;
   COMMIT;
END;
只有在
INSERT
(例如)周围有一个子块时,才需要它,例如用于特定的异常处理

通常最好在
插入中指定列名

      INSERT INTO temp(col1, col2, col3) VALUES (x, counter, 'in OUTER loop');

第一个
结束不应存在:

DECLARE
   x NUMBER := 0;
   counter NUMBER := 0;
BEGIN
   FOR i IN 1..4 LOOP
      x := x + 1000;
      counter := counter + 1;
      INSERT INTO temp VALUES (x, counter, 'in OUTER loop');
   END LOOP;
   COMMIT;
END;
只有在
INSERT
(例如)周围有一个子块时,才需要它,例如用于特定的异常处理

通常最好在
插入中指定列名

      INSERT INTO temp(col1, col2, col3) VALUES (x, counter, 'in OUTER loop');

这种插入模式不需要PL/SQL。以下内容在纯SQL中工作:

create table temp(x number, counter number, text varchar2(20));

insert into temp
select (rownum-1)*1000, rownum-1, 'in OUTER loop'
from dual
connect by level <=4;
create table temp(x编号、计数器编号、文本varchar2(20));
插入temp
选择(rownum-1)*1000,rownum-1,“在外循环中”
来自双重

按级别连接此插入模式不需要PL/SQL。以下内容在纯SQL中工作:

create table temp(x number, counter number, text varchar2(20));

insert into temp
select (rownum-1)*1000, rownum-1, 'in OUTER loop'
from dual
connect by level <=4;
create table temp(x编号、计数器编号、文本varchar2(20));
插入temp
选择(rownum-1)*1000,rownum-1,“在外循环中”
来自双重

按级别连接您是否有
结束
结束循环
结束
嵌套核心?您是否有
结束
结束循环
结束
嵌套核心?