--循环语句 有三种结构 loop while for
- Name Type Nullable Default Comments
- ---- ------------ -------- ------- --------
- ID NUMBER(4) Y
- NAME VARCHAR2(29) Y
- 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
- 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
- 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
















