使用for循环如何增加任何数字

时间:2010-11-27 17:39:36

标签: sql oracle plsql

编写一个包含循环的程序,该循环使用变量I从1到1000迭代,每次循环时都会递增。程序应该每100次迭代输出I的值(即,输出应该是100,200等)。使用dbms_output.put_line在屏幕上显示输出。

3 个答案:

答案 0 :(得分:3)

使用:

FOR I IN 1..1000
LOOP
   IF MOD(I, 100) = 0 THEN
     DBMS_OUTPUT.PUT_LINE(I);
   END IF;
END LOOP;

参考:

答案 1 :(得分:2)

这可能会更快:

begin
 dbms_output.put_line('100');
 dbms_output.put_line('200');
 dbms_output.put_line('300');
 dbms_output.put_line('400');
 dbms_output.put_line('500');
 dbms_output.put_line('600');
 dbms_output.put_line('700');
 dbms_output.put_line('800');
 dbms_output.put_line('900');
 dbms_output.put_line('1000');
end;

:)

答案 2 :(得分:1)

或者您可以将其实现为

FOR I IN 1..1000 LOOP
  IF I IN (100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) THEN
    DBMS_OUTPUT.PUT_LINE(I);
  END IF;
END LOOP;

FOR I IN 1..1000 LOOP
  IF I/100 = TRUNC(I/100) THEN
    DBMS_OUTPUT.PUT_LINE(I);
  END IF;
END LOOP;

甚至

DECLARE
  INPUT_NUM   NUMBER;
  OUTPUT_NUM  NUMBER;
BEGIN
  FOR I IN 1..1000 LOOP
    SELECT I/100, TRUNC(I/100)
      INTO INPUT_NUM, OUTPUT_NUM
      FROM DUAL;

    IF INPUT_NUM = OUTPUT_NUM THEN
      DBMS_OUTPUT.PUT_LINE(I);
    END IF;
  END LOOP;
END;

分享并享受。