在plsql中有3种循环,分别是基本循环,while循环和for循环。
基本循环: 以loop开始,并以end loop结束,无论是否满足条件,循环体至少会被执行1次。 注意,一定要包含exit语句,否则会形成死循环,还应该定义循环控制变量,并在循环体内部修改循环控制变量的值。
例如: declare i int:=1; begin loop insert into temp values(i); exit when i=20; i:=i+1; end loop; end;
当i=20成立时退出循环
while循环 以while...loop开始,以end loop结束。循环体至少执行0次。 注意,应该定义循环控制变量,并在循环体内部修改循环控制变量的值。
例如: declare i int:=1; begin while i<=20 loop insert into temp values(i); i:=i+1; end loop; end;
当i<=20成立时才执行循环体中的语句
for循环 当使用基本循环和while循环时都需要定义循环控制变量,循环控制变量不仅可以是number型也可以是其他类型,而当使用for循环时,oracle会隐含定义循环控制变量。 语法如下 for 循环控制变量 in [reverse] 循环控制变量的下界值..循环控制变量的上界值 循环体 end loop;
(默认情况下每循环1次,循环控制变量自动加1,如果指定了reverse选项,每循环1次,循环控制变量自动减1)
例如: begin for i in 10..20 loop insert into temp values(i); end loop; end;
嵌套循环和标号 在1个循环中还可以嵌套另1个循环,而标号用于标记嵌套块或嵌套循环,在内层循环中可以直接退出外层循环。
例如:begin <<outer>> for i in 15..20 loop dbms_output.put_line('外'||i); <<inter>> for j in 20..30 loop exit outer when j=25; dbms_output.put_line('内'||j); end loop ; end loop; dbms_output.put_line('退出外层循环');end; (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|