加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 循环通过预定义的值

发布时间:2020-12-12 13:48:11 所属栏目:百科 来源:网络整理
导读:有没有办法在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
有没有办法在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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读