中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

Oracle基础课程:PL/SQL条件控制case

Oracle基础课程:PL/SQL条件控制case,CASE是一种选择结构的控制语句,可以根据条件从多个执行分支中选择相应的执行动作。也可以作为表达式使用,返回一个值。类似于C#中的switch语句。语法是:

语法格式:CASE

CASE [selector]

WHEN 表达式1 THEN 语句序列1

WHEN 表达式2 THEN 语句序列2

WHEN 表达式3 THEN 语句序列3

……

[ELSE 语句序列N]

END CASE;

语法解析:

如果存在选择器selector,选择器selector与WHEN后面的表达式匹配,匹配成功就执行THEN后面的语句。如果所有表达式都与selector不匹配,则执行ELSE后面的语句。

案例4:输入一个字母A、B、C分别输出对应的级别信息。

代码演示:CASE中存在selector,不返回值

DECLARE

      v_grade CHAR(1):=UPPER('&p_grade'); 

BEGIN

      CASE v_grade 

           WHEN 'A' THEN

               dbms_output.put_line('Excellent');

           WHEN 'B' THEN

               dbms_output.put_line('Very Good');

           WHEN 'C' THEN

               dbms_output.put_line('Good');

           ELSE

               dbms_output.put_line('No such grade');

      END CASE;

END;

代码解析:

① & grade表示在运行时由键盘输入字符串到grade变量中。

② v_grade分别于WHEN后面的值匹配,如果成功就执行WHEN后的程序序列。

CASE语句还可以作为表达式使用,返回一个值。

代码演示:CASE中存在selector,作为表达式使用

DECLARE

      v_grade CHAR(1):=UPPER('&grade');

      p_grade VARCHAR(20) ;

BEGIN

      p_grade := 

      CASE v_grade

           WHEN 'A' THEN

               'Excellent'

           WHEN 'B' THEN

               'Very Good'

           WHEN 'C' THEN

               'Good'

           ELSE

               'No such grade'

      END;

      dbms_output.put_line('Grade:' ||v_grade||',the result is '||p_grade);

END;

代码解析:

① CASE语句可以返回一个结果给变量p_grade

PL/SQL还提供了搜索CASE语句。也就是说,不使用CASE中的选择器,直接在WHEN后面判断条件,第一个条件为真时,执行对应THEN后面的语句序列。

代码演示:搜索CASE

DECLARE

      v_grade CHAR(1):=UPPER('&grade');

      p_grade VARCHAR(20) ;

BEGIN

      p_grade :=

      CASE

           WHEN v_grade='A' THEN

               'Excellent'

           WHEN v_grade='B' THEN

               'Very Good'

           WHEN v_grade='C' THEN

               'Good'

           ELSE

               'No such grade'

      END;

      dbms_output.put_line('Grade:' ||v_grade||',the result is '||p_grade);

END;

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页