--if...then...elsif..then.. else...end if
declare
num integer;
inputno number(10);
begin
inputno :='&请输入';
select sal into num from scott.emp where empno=inputno;
if(num<2000) then
dbms_output.put_line('薪水低于2000');
elsif (num>=2000 and num<=3000) then
dbms_output.put_line('薪水在3000-2000之间');
else
dbms_output.put_line('薪水高于3000');
end if;
end;
--case语句
declare
v_deptno number:=10;
v_sal number;
begin
case v_deptno
when 10 then v_sal:=1;
when 20 then v_sal:=2;
else
v_sal:=3;
end case;
update scott.emp set sal=sal+v_sal where deptno=v_deptno ;
commit;
end;
--目标 使用case 语句统计员工薪水等级
select ename,sal,case
when sal<2000 then '低等'
when sal>=2000 and sal<3000 then '中等'
when sal>=3000 and sal<4000 then '上等'
else '高等'
end 薪水等级
from emp;
--循环控制语句 loop...exit when...end loop循环控制
declare
v_i int:=1;
begin
loop
v_i:=v_i+1;
exit when v_i=20;
dbms_output.put_line(v_i);
end loop;
end;
--while...loop...end loop循环控制
--九九乘法表
declare
v_i number:=1;
v_j number;
begin
while(v_i<10) loop
v_j:=1;
loop
dbms_output.put(v_j||'*'||v_i||'='||v_j*v_i||' ');
v_j:=v_j+1;
exit when v_j>v_i;
end loop;
dbms_output.put_line('');
v_i:=v_i+1;
end loop;
end;
--for循环
--for 循环变量 in [reverse] 循环下界..循环上界 loop
--循环处理语句段;
--end loop;
declare
v_sum number:=1;
begin
for i in 1..5 loop
v_sum:=v_sum*i;
end loop;
dbms_output.put_line('阶乘结果:'||v_sum);
end;
相关文章
- Oracle loop循环无法插入数据
- 20180226 控制语句 swith语句 while语句 break和continue 练习
- Oracle异常处理System.Data.OracleClient.OracleException: Error while trying to retrieve text for error ORA-01036
- Oracle启动时报错 error while trying to retrieve text for error ORA-12543
- python的while loop中的else多余吗?
- SqlServer和Oracle中一些常用的sql语句5 流程控制语句
- js中的流程控制语句、条件分支语句、for循环、while循环基础知识详解+详细代码说明
- “全栈2019”Java第二十六章:流程控制语句中循环语句do-while
- Oracle函数及流程控制语句
- java的选择结构switch和循环结构for while do while以及流程控制语句break continue return