oracle – 循环通过预定义的值

前端之家收集整理的这篇文章主要介绍了oracle – 循环通过预定义的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法在oracle中做一个“for each”,像这样:
begin
  for VAR in {1,2,5}
  loop
    dbms_output.put_line('The value: '||VAR);
  end loop;
end;

我知道你可以做一些事情:

begin
  for VAR in 1..5
  loop
    if VAR in(1,3,5) then
      dbms_output.put_line('The value: '||VAR);
    end if;
  end loop;
end;

但是没有办法以更好的方式做到这一点吗?定义一组值并迭代?

谢谢.

你可以做到这一点,虽然可能不像你想要的那样光滑:
declare
  type nt_type is table of number;
  nt nt_type := nt_type (1,5);
begin
  for i in 1..nt.count loop
    dbms_output.put_line(nt(i));
  end loop;
end;

如果在数据库中创建一个类型:

create type number_table is table of number;

那么你可以这样做:

begin
  for r in (select column_value as var from table (number_table (1,5))) loop
    dbms_output.put_line(r.var);
  end loop;
end;
原文链接:https://www.f2er.com/oracle/205530.html

猜你在找的Oracle相关文章