编写一个包含循环的程序,该循环使用变量I
从1到1000迭代,每次循环时都会递增。程序应该每100次迭代输出I
的值(即,输出应该是100,200等)。使用dbms_output.put_line
在屏幕上显示输出。
答案 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;
分享并享受。