赋值语句要写在代码体内,而不是声明中。所以需要将对i的赋值写在begin end中。
另外赋值的方式采用select into的方式。

解决方案 »

  1.   

    DECLARE
      I NUMBER;
    BEGIN
      I := XUEXI_SEQ.NEXTVAL;
      WHILE I < 100 LOOP
        INSERT INTO XUEXI (A1) VALUES (I);
        COMMIT;
        EXIT;
      END LOOP;
    END;
    给你写一个吧,你的毛病太多了,亲。。
    循环要有exit的,否则死循环。。
      

  2.   

    楼主是想循环插入100个数吧……
    DECLARE
    i NUMBER;
    BEGIN
    LOOP 
    SELECT XUEXI_seq.NEXTVAL INTO i FROM DUAL;
    INSERT INTO XUEXI(a1) VALUES (i);
    EXIT WHEN i>=100;
    END LOOP;
    COMMIT;
    END;
      

  3.   

    DECLARE
      I NUMBER:=0;
    BEGIN
      WHILE I < 100 LOOP
        I := XUEXI_SEQ.NEXTVAL;
        INSERT INTO XUEXI (A1) VALUES (I);
        COMMIT;
      END LOOP;
    END;