在Oracle中,PL/SQL语法并没有提供指定步长的语法。PL/SQL的for循环中,步长总是1,如果希望一个循环体能够以我们想要的步长值来进行递进,则有以下两种实现方式。
1.使用MOD函数
BEGIN
for i in 1..10
LOOP
if mod(i, 2) = 0 then
DBMS_OUTPUT.PUT_LINE(i);
end if;
END LOOP;
END;
2.使用乘法
BEGIN
for i in 1..5
LOOP
DBMS_OUTPUT.PUT_LINE(i * 2);
END LOOP;
END;
在第二个循环中,循环次数只是第一个的一半。