条件语句主要作用是根据条件的变化选择执行不同的代码。

1、if语句

【实例】指定一个月份数值,然后使用if…then…elsif语句判断它所属的季节,并输出季节信息。

declare

month int:=10; –定义整型变量并赋值

begin

if month>=0 and month<=3 then –判断春季

dbms_output.put_line(‘这是春季’);

elsif month>=4 and month<=6 then –判断夏季

dbms_output.put_line(‘这是夏季’);

elsif month>=7 and month<=9 then –判断秋季

dbms_output.put_line(‘这是秋季’);

elsif month>=10 and month<=12 then –判断冬季

dbms_output.put_line(‘这是冬季’);

else

dbms_output.put_line(‘对不起,月份不合法!’);

end if;

end;

2、case语句

【实例】指定一个季节数值,然后使用case语句判断它所包含的月份信息并输出。

declare

season int:=3; –定义整型变量并赋值

aboutInfo varchar2(50); –存储月份信息

begin

case season –判断季度

when 1 then –若是1季度

aboutInfo:=season||’季度包括1,2,3月份’;

when 2 then –若是2季度

aboutInfo:=season||’季度包括4,5,6月份’;

when 3 then –若是3季度

aboutInfo:=season||’季度包括7,8,9月份’;

when 4 then –若是4季度

aboutInfo:=season||’季度包括10,11,12月份’;

else –若季度不合法

aboutInfo:=season||’季度不合法’;

end case;

dbms_output.put_line(aboutInfo); –输出该季度所包含的月份信息

end;

【实例】在SCOTT模式下,查询dept表并使用case语句判断部门名称。

–简单Case函数写法

select deptno,dname,

case dname

when ‘ACCOUNTING’ then ‘会计部’

when ‘RESEARCH’ then ‘研究部’

when ‘SALES’ then ‘销售部’

when ‘OPERATIONS’ then ‘运营部’

else ‘其他部门’

end 部门名称

from dept;

–Case搜索函数写法

select deptno,dname,

case

when dname = ‘ACCOUNTING’ then ‘会计部’

when dname = ‘RESEARCH’ then ‘研究部’

when dname = ‘SALES’ then ‘销售部’

when dname = ‘OPERATIONS’ then ‘运营部’

else ‘其他部门’

end 部门名称

from dept;