PL/SQL每日一题:CASE语句和CASE表达式的区别
来源:互联网 发布:网络监测基础与实战 编辑:程序博客网 时间:2024/05/15 01:06
题目:
世界上有很多不同品种的豚鼠,其中有一些具有可以识别的特征。比如:“埃塞俄比亚人(Abyssinians)”外皮上具有带褶皱的花环
“特塞尔绵羊(Texels)”有长长的卷毛。而“克雷斯特白豚鼠White Crested Guinea Pig”在头上一个白色的花纹(不出所料)
下列的每个选项提供了plch_proc过程的一种实现方法,它会显示给定特征的豚鼠品种;这个过程并不完备
哪些选项在执行下列的代码块之后会显示如下的两行?
Species=TexelSpecies=BEGIN plch_proc ('curly'); plch_proc ('white');END;/
(A)CREATE OR REPLACE PROCEDURE plch_proc (feature_in IN VARCHAR2)IS l_guinea_pig_species VARCHAR2 (100);BEGIN CASE feature_in WHEN 'curly' THEN l_guinea_pig_species := 'Texel'; WHEN 'rosettes' THEN l_guinea_pig_species := 'Abyssinian'; END CASE; DBMS_OUTPUT.put_line ('Species=' || l_guinea_pig_species);END;/(B)CREATE OR REPLACE PROCEDURE plch_proc (feature_in IN VARCHAR2)IS l_guinea_pig_species VARCHAR2 (100);BEGIN l_guinea_pig_species := CASE feature_in WHEN 'curly' THEN 'Texel' WHEN 'rosettes' THEN 'Abyssinian' END; DBMS_OUTPUT.put_line ('Species=' || l_guinea_pig_species);END;/(C)CREATE OR REPLACE PROCEDURE plch_proc (feature_in IN VARCHAR2)IS l_guinea_pig_species VARCHAR2 (100);BEGIN CASE feature_in WHEN 'curly' THEN l_guinea_pig_species := 'Texel'; WHEN 'rosettes' THEN l_guinea_pig_species := 'Abyssinian'; ELSE NULL; END CASE; DBMS_OUTPUT.put_line ('Species=' || l_guinea_pig_species);END;/(D)CREATE OR REPLACE PROCEDURE plch_proc (feature_in IN VARCHAR2)IS l_guinea_pig_species VARCHAR2 (100);BEGIN IF feature_in = 'curly' THEN l_guinea_pig_species := 'Texel'; ELSIF feature_in = 'rosettes' THEN l_guinea_pig_species := 'Abyssinian'; END IF; DBMS_OUTPUT.put_line ('Species=' || l_guinea_pig_species);END;/
答案:
--BCD
注意CASE语句(statement)和CASE表达式(expression)在没有ELSE的情况下的区别
A是CASE语句,碰到没有处理的分支而又缺少ELSE子句就会报错:
"ORA-06592: CASE not found while executing CASE statement"
B用的是CASE表达式,在没有匹配的选项又没有ELSE的情况下返回NULL
C: 有 ELSE NULL 保护
D: IF 语句不会因为没有符合条件的条件值而报错
- PL/SQL每日一题:CASE语句和CASE表达式的区别
- PL/SQL 中 CASE 语句的使用
- pl/sql的case语句总结
- PL/SQL 中 CASE 语句的使用
- oracle 每日一题-case表达式
- case语句跟case表达式区别
- sql的case语句
- sql的case语句
- Oracle的CASE语句和表达式
- Pl sql case语句应用实例
- Oracle pl/sql编程 10---case语句
- PL/SQL --if,case,while语句
- CASE语句与CASE表达式
- CASE语句与CASE表达式
- PL/SQL CASE
- SQL的case when语句
- SQL case 语句的实践
- SQL语句case when外用sum与count的区别
- linux中的proc文件系统详解---英文
- lua函数中的self的实现
- 女主播举报遭官员性侵:雷政富事件给我勇气
- ArcGIS For JavaScript API 添加一个 topographic map with graphics(地形图与图形)————(四)
- asp.net 服务器获取真实IP
- PL/SQL每日一题:CASE语句和CASE表达式的区别
- SSH面试题总结
- 慢慢来,一切都来得及
- 如何选择学习linux
- 字符指针与字符数组的区别
- TCP与UDP区别
- Ubuntu应用推荐大全
- ios UIView详解~~~~~
- Mysql集群