[oracle]pl/sql --循环语句demo

来源:互联网 发布:返利魔方靠谱吗 知乎 编辑:程序博客网 时间:2024/06/05 03:41

--循环语句 有三种结构 loop while for

--使用的表users
Name Type         Nullable Default Comments  ---- ------------ -------- ------- --------  ID   NUMBER(4)    Y                          NAME VARCHAR2(29) Y   
--loop循环 要以end loop结束
--案例  向users表中添加10个用户,id从1开始,写一个过程

create or replace procedure l_pro4(name varchar2) is   v_num number := 1; begin   --循环体的开始   loop     insert into users values (v_num, name);     --判断是否退出的条件     exit when v_num = 10;     --自增     v_num := v_num + 1;   end loop; end; 
结果:

SQL> exec l_pro4('51cto');   PL/SQL procedure successfully completed   SQL> select *from users;      ID NAME ----- -----------------------------     1 51cto     2 51cto     3 51cto     4 51cto     5 51cto     6 51cto     7 51cto     8 51cto     9 51cto    10 51cto   10 rows selected 

--while循环
--案例 编一个过程,输入用户名此想users表中添加从11序号开始的10个记录
create or replace procedure l_pro5(name varchar2) is   v_num number := 11; begin   --判断   while v_num <= 20 loop     --循环体     insert into users values (v_num, name);     v_num := v_num + 1;   end loop; end; 
结果:
SQL> exec l_pro5('51CTO');   PL/SQL procedure successfully completed   SQL> select *from users;      ID NAME ----- -----------------------------     1 51cto     2 51cto     3 51cto     4 51cto     5 51cto     6 51cto     7 51cto     8 51cto     9 51cto    10 51cto    11 51CTO    12 51CTO    13 51CTO    14 51CTO    15 51CTO    16 51CTO    17 51CTO    18 51CTO    19 51CTO    20 51CTO   20 rows selected 
--for循环
--编写一个过程,给出用户名,然后添加10条记录
create or replace procedure l_pro6(name varchar2) is begin   --这里的模式是自己设定的   for i in reverse 1..10 loop        insert into users values (i, name);   end loop; end; 

SQL> exec l_pro6('51BBS');   PL/SQL procedure successfully completed   SQL> select *from users;      ID NAME ----- -----------------------------    10 51BBS     9 51BBS     8 51BBS     7 51BBS     6 51BBS     5 51BBS     4 51BBS     3 51BBS     2 51BBS     1 51BBS   10 rows selected 

这就是三种结果,但是for好像不是很好用。。。

 

本文出自 orangleliu笔记本 博客,请务必保留此出处http://blog.csdn.net/orangleliu/article/details/38309423

0 0
原创粉丝点击