37
if then
if else then 
if else then elsif elsif
create or replace procedure pro1(v_in_ename varchar2) is
--定义工资变量
v_sal emp.sal%type;
begin
select sal into v_sal from emp where ename='----';
if v_sal<2000 then
update emp set sal=sal*1.1 where ename=v+in+ename;
end if;
end;


第二个例子 if then else
create or replace procedure pro2(v_in_ename varchar) is
v_com emp.com%type;
begin
select comm into v_comm from emp where ename=v_in_ename;
if v_comm<>0 then
update emp set comm=comm+100 where ename=v_in_ename;
else 
update emp set comm=200 where ename=v_in_ename;
end if;
end;
特别说明一下,字符串比较是一个等号
2.循环语句loop  ....end loop先执行后退出
loop
..
exit when 条件表示式
end loop;
说明 这里的条件表达式如果为true,则继续执行
create table users(
id number primary key,
name varchar2(42)
)
create or replace procedure pro1(v_in_name varchar,n number) is
--定义变量
v_empno number:=1;
begin
--exit when n<=0;
loop
--执行添加任务


insert into users values(v_empno,v_in_name);
exit when v_empno=n;
--v_empno自己增加一下
v_empno:=v_empno+1;
end loop;
end;