Oracle PL/SQL中的For In-loop

Oracle PL/SQL中的For In-loop,sql,oracle,for-loop,plsql,for-in-loop,Sql,Oracle,For Loop,Plsql,For In Loop,在PL/SQL中,我可以使用FOR-In循环从1到20进行迭代,如下所示: FOR counter IN 1..20 我想知道的是,是否有一个简单的改变,我可以做这将允许我通过循环迭代,只有偶数值之间的1-20?i、 计数器将显示2、4、6。。。20对戈登的评论进行补充 这是语法,因此没有内置方式 您可以在FOR循环语句中模拟STEP子句 除了戈登的评论之外 这是语法,因此没有内置方式 您可以在FOR循环语句中模拟STEP子句 没有内置的方式。你需要乘以2。没有内置的方式。你需要乘以2。 [

在PL/SQL中,我可以使用FOR-In循环从1到20进行迭代,如下所示:

FOR counter IN 1..20

我想知道的是,是否有一个简单的改变,我可以做这将允许我通过循环迭代,只有偶数值之间的1-20?i、 计数器将显示2、4、6。。。20

对戈登的评论进行补充

这是语法,因此没有内置方式

您可以在FOR循环语句中模拟STEP子句


除了戈登的评论之外

这是语法,因此没有内置方式

您可以在FOR循环语句中模拟STEP子句


没有内置的方式。你需要乘以2。没有内置的方式。你需要乘以2。
[ label ] FOR index IN [ REVERSE ] lower_bound..upper_bound LOOP
  statements
END LOOP [ label ];
DECLARE
  step  PLS_INTEGER := 5;
BEGIN
  FOR i IN 1..3 LOOP
    DBMS_OUTPUT.PUT_LINE (i*step);
  END LOOP;
END;
SET SERVEROUTPUT ON;--default buffer size is 1000 000
declare 
idx number:=0;
step number:=10000;
begin
DBMS_OUTPUT.ENABLE(Null);-- unlimited output buffer
for i in 1..3 loop
 DBMS_OUTPUT.PUT_LINE('idex: from [' ||idx|| ' ] to [' || (idx+step) || ']');
 --..... you loop logic
  select t.id, row_number() over(order by t.id) rw
         from t
         where rw >= idx and rw < (idx+step)
 idx:= idx+step; --increment step.
end loop;
end;