ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

plsql笔记循环

plsql笔记循环 循环1 loop :---是指 无限循环 ---死循环 ---退出循环条件2. while ---是自带条件的循环 ---------进入循环条件3. for ---是经常使用的循环 最常用 最牛的 最方便的循环1 loop :---是指 无限循环 ---死循环 ---退出循环条件语法declarebeginloop ----------------------------循环的开始----------------1 循环主体 循环的内容 (必须)exit -----没有条件 走到 exit 就直接退出循环when 条件1...... ;----------------2.退出循环 条件 必须----------------3. 计数 控制次数 可选end loop; -------------------------循环的结束end;例题 打印输出 10 次 付浩浩declaren number:1;beginloopdbms_output.put_line(付浩浩); ---循环主体n : n1; ------------------------------------------控制次数exit when n 11; -----退出条件end loop;end;练习 打印输出 1-100declaren number:1;beginloopdbms_output.put_line( n );n:n1;exit when n101;end loop;end;练习 打印输出 1-100之间的偶数 --必须用if moddeclaren number:1;beginloopif mod(n,2)0 thendbms_output.put_line(n);elsenull; ------------------------什么都不做end if;n:n1;exit when n101;end loop;end;2. while 循环 ---自带条件的循环 ---进入循环条件语法、、declarebeginwhile 条件1.............. --------进入循环的条件 满足条件才能进入循环loop ---循环的开始---------------1 循环的主体 循环的内容必须-------------- 2 控制循环次数 (可选)end loop; ---循环的结束end;例题 打印输出 10次 你好智云declaren number : 1;beginwhile n11loopdbms_output.put_line(你好智云);n:n1;end loop;end;练习 打印输出 100-1 之间的奇数declaren number:100;beginwhile n0loopif mod(n,2)1 thendbms_output.put_line(n);end if;n:n-1;end loop;end;--------------------------------------------------------------------------------------------------------------------------------------------for 循环语法declarebeginfor 变量名 in x..y | (select语句) |游标 ---相当于控制次数和退出条件loop--------------1 循环主体 循环的内容end loop;end;x..y x 和 y 是正整数x 必须小于 y ,从 x 循环到 y例题 打印输出 10 次 你好智云declarebeginfor i in 1..10loopdbms_output.put_line(你好智云);end loop;end;declarebeginfor i in 100..109loopdbms_output.put_line(你好智云);end loop;end;练习 打印输出 1-100之间的偶数declarebeginfor i in 1..100loopif mod( i ,2)0 thendbms_output.put_line( i );end if;end loop;end;要求 打印输出 100-1----for 循环的反转 reversedeclarebeginfor i in reverse 1..100loopdbms_output.put_line(i);end loop;end;练习 传入一个字符 反向打印该字符 比如 付浩浩 浩浩付---length substrdeclareV_a varchar2(20):请输入;beginfor i in reverse 1..length(V_a)loopdbms_output.put( substr(v_a , i , 1 ) );end loop;dbms_output.put_line();end;declareV_a varchar2(20):请输入;beginfor i in 1..length(V_a)loopdbms_output.put( substr(v_a , -i , 1 ) );end loop;dbms_output.put_line();end;循环的嵌套---外层循环 循环一次 内层循环 循环全部例题 演示 时针 分针declarebeginfor i in 1..24 -----------------外 时针loopfor j in 1..60 ------------内 分针loopdbms_output.put_line(i||小时||j||分钟);end loop;end loop;end;练习 打印输出 99乘法表1*111*22 2*241*33 2*36 3*391*44 2*48 3*412 4*416.................................. ------9declarebeginfor i in 1..9 ----------------------外 表示行数loopfor j in 1..i --------------内 表示列数loopdbms_output.put(i||*||j||||i*j|| );end loop;dbms_output.put_line();end loop;end;----------------------------------------for 循环后 跟 select 语句--作用 处理多行数据语法declarebeginfor 变量 in (select语句)loop----循环的主体end loop;end;例题 打印输出 emp表中所有人的姓名岗位薪资declarebeginfor i in (select ename,job,sal from emp )--i 复合变量 i.ename i.job i.salloopdbms_output.put_line( i.ename||i.job||i.sal );end loop;end;
返回列表