gpt4 book ai didi

oracle - 循环遍历预定义的值

转载 作者:行者123 更新时间:2023-12-03 07:31:06 27 4
gpt4 key购买 nike

有没有办法在 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, 3, 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, 3, 5))) loop
dbms_output.put_line(r.var);
end loop;
end;

关于oracle - 循环遍历预定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798161/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com