日期:2014-05-16  浏览次数:20822 次

Oracle的赋值问题。。。。
今天创建了一个序列“XUEXI_seq”,,写在循环里面。

DECLARE i NUMBER;
i:=(SELECT XUEXI_seq.nextval FROM DUAL);
BEGIN
WHILE i<100 LOOP
INSERT INTO XUEXI(a1) VALUES (i);
END LOOP;
END;

报错了,我想知道是不是我给i赋值的那个语句错误了??
------解决方案--------------------
楼主是想循环插入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;

------解决方案--------------------
引用:

啊,我写错了。。抱歉。。

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