有没有办法在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;
但是没有办法以更好的方式做到这一点吗?定义一组值并迭代?
谢谢.
你可以做到这一点,虽然可能不像你想要的那样光滑:
原文链接:https://www.f2er.com/oracle/205530.htmldeclare 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;