今天创建了一个序列“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;