1 条件分之语句
1 简单条件判断
declare
v_sal number(6,2);
begin
select sal into v_sal from emp
where lower(ename)=lower('&&name');
if v_sal<2000 then
update emp set sal=v_val+200
where lower(ename)=lower('&name');
end if;
end;
2 二重条件分支
if v_comm<>0 then
.....
else
........
end if;
3 多重条件分支
IF THEN
ELSIF THEN
ELSIF THEN
ELSE
END IF;
2 case 语句
1 在case 语句中使用单一选择符进行等值比较
declare
v_deptno emp.deptno%type
begin
v_deptno:=&no;
case v_deptno
when 10 then
update emp...
when 20 then
update ......
else
dems_out.put_line('不存在该部门');
end case;
end;
2 在case 语句中使用多种比较条件
declare
v_sal emp.sal%type
v_ename emp.ename%type
begin
select ename ,sal into vv_ename,v_sal
from emp where empno=&no;
case
when v_sal<1000 then
update emp set ...
when v_sal<2000 then
end case;
3 循环语句
1 基本循环
declare
i INT:=1;
begin
loop
insert into temp valuse(1);
exit when i=10;
i:=i+1;
end loop;
end;
2 while 循环
while i<=10 loop
insert into tem valuse(i);
i:=i+1;
end loop;
3for 循环
for i in reverse 1..10 loop
insert into temp values(1);
end loop;
4 顺序控制语句
1 goto
goto label_name;
loop
...
goto end_loop;
<<end loop>>
dbms_output
2 null 语句不会执行任何操作,并且会直接将控制传递道下一条语句
if v_sal<3000 then
update emp set .....
else
null;
end if;