`
springking
  • 浏览: 131826 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

编写控制结构之case语句

 
阅读更多

当需要执行多重分支操作时,使用case语句更简洁,且执行效率更高。
使用case语句又2种方式,第一种是使用单一选择符进行等值比较,第二种是使用多种提交进行非等值比较

使用单一选择符进行等值比较:
例如:
declare
  v_no int:=&no;
  v_sal emp.sal%type;
  v_name emp.ename%type;
begin
  select sal,ename into v_sal,v_name from emp where emp.empno=v_no;
  case v_sal
       when 1000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 2000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 3000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);    
       when 4000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       when 5000 then
            dbms_output.put_line(v_name||'的工资是'||v_sal);
       else
            dbms_output.put_line('不在范围内');          
  end case;
end;

使用多种提交进行非等值比较
例如:
declare
  v_no int:=&no;
  v_sal emp.sal%type;
  v_name emp.ename%type;
begin
  select sal,ename into v_sal,v_name from emp where emp.empno=v_no;
  case
       when v_sal<1000 then
            update emp set sal=sal*0.1 where empno=v_no;
       when v_sal<2000 then
            update emp set sal=sal*0.2 where empno=v_no;
       when v_sal<3000 then
            update emp set sal=sal*0.3 where empno=v_no;    
       when v_sal<4000 then
            update emp set sal=sal*0.4 where empno=v_no;
       when v_sal<5000 then
            update emp set sal=sal*0.5 where empno=v_no;
       else
            dbms_output.put_line('不在范围内');          
  end case;
end;

 

 

分享到:
评论

相关推荐

    mysql存储过程之case语句用法实例详解

    总结来说,MySQL中的CASE语句提供了灵活的条件判断功能,无论是用于存储过程中的逻辑控制,还是在复杂查询中进行数据分组和过滤,都极大地提高了代码的可读性和效率。通过熟练掌握CASE语句,可以编写出更加精炼和...

    Delphi高级Case语句应用实例..rar

    在Delphi编程环境中,`case`语句是一种强大的控制流结构,它允许程序根据不同的条件执行不同的代码块。本教程将深入探讨`case`语句在Delphi中的高级应用,结合实际示例来帮助理解其功能和用法。 首先,我们要明白`...

    Java switch case 语句.docx

    总之,Java的switch case语句是一种强大的控制结构,允许根据变量值的不同执行不同代码块。正确理解和使用break和default,可以确保代码按照预期运行,避免意外的流程跳转。在实际编程中,应根据具体情况选择使用if....

    if嵌套与case语句.doc

    总的来说,`if`语句的嵌套和`case`语句都是Pascal中实现条件控制的重要工具。`if`语句适用于简单的或嵌套的条件判断,而`case`语句则在处理多分支选择时表现出优越的简洁性和可读性。在编写Pascal程序时,根据实际...

    用 case 语句写出比较电路: 推出一个 2 位较大数判断电路的真值表

    在 FPGA 设计中,Verilog HDL 是一种广泛使用的硬件描述语言,用于描述数字电路的行为和结构。本问题要求我们使用 case 语句设计一个 2 ...通过这个案例,我们可以深入理解和实践 FPGA 设计中的逻辑控制结构及其应用。

    switch 语句与 case 语句一起使用,每个 case 对应一个可能的值.rar

    在编程语言中,`switch`语句和`case`语句是控制流程的重要组成部分,尤其在处理多条件分支时显得尤为高效。它们通常用于替代多个`if...else if...else`结构,使得代码更加简洁易读。下面我们将深入探讨`switch`语句...

    c语言switch case语句.docx 代码

    C语言中的`switch`和`case`语句是控制流程的一部分,它们提供了多路选择的结构,使得程序可以根据不同的条件执行不同的代码块。在C语言中,`switch`语句通常用于替代一系列的`if...else if...else`语句,以实现更...

    金鹰asp超速入门视频教程-026.Select Case语句.rar

    在ASP中,我们经常使用控制结构来组织和控制程序的流程,其中Select Case语句是一种重要的选择结构,它允许我们根据不同的条件执行不同的代码块。 Select Case语句在ASP中的语法如下: ```vbscript Select Case ...

    Shell脚本case语句简明教程

    在Shell编程中,`case`语句是一种常用的条件控制结构,用于实现多分支选择的功能。它通过匹配一个特定的值(通常是变量)与一系列预定义的模式来决定执行哪一组命令。相比于传统的`if...else`结构,`case`语句提供了...

    增加了case和for语句的pl0编译器及有关测试文件

    在这个压缩包中,包含了一个增强版的PL0编译器,该编译器已经支持了`case`和`for`这两种控制流语句,这对于学习编译器设计和理解流程控制结构的人来说是一个非常有价值的资源。 首先,`ploc.c`是PL0编译器的主要源...

    C程序的流程--程序控制结构与语句.pptx

    《C程序的流程——程序控制结构与语句》 C语言是计算机编程的基础,它的程序流程主要由三种结构组成:顺序结构、选择结构和循环结构。理解这些基本的程序控制结构对于编写高效、逻辑清晰的代码至关重要。 5.1 程序...

    switch语句

    JavaScript中的`switch`语句是一种条件控制结构,用于执行基于不同条件的多个代码块。它提供了比`if...else if...else`结构更简洁、更易读的代码编写方式,尤其在处理多分支选择时。在本练习中,我们将深入探讨`...

    java语言基础(语法简表和语句控制结构概述)

    Java的语法简表和语句控制结构构成了编写程序的基本骨架。理解并熟练运用这些概念,对于初学者来说至关重要,能够帮助他们逐步掌握Java编程,并构建复杂的程序逻辑。通过阅读提供的文档"Java语句及其控制结构简要....

    Visual-Basic-程序设计课程结构化控制语句完整.pptx

    在本课程中,我们将探讨三种主要的结构化控制语句:顺序结构、分支结构(包括If语句和Select Case语句)以及循环结构。 **顺序结构**是最基本的控制结构,它按照代码的排列顺序逐行执行。赋值语句是顺序结构中的...

    Java语言语法-控制结构

    ### Java语言语法——控制结构 #### 一、概述 ...总结而言,Java语言的控制结构提供了强大的逻辑控制能力,能够帮助开发者编写出高效、灵活的程序。掌握这些基本的控制结构是学习Java编程的基础。

    C语言选择控制结构

    学习和掌握这些选择控制结构对于C语言编程至关重要,因为它们是编写条件逻辑、实现决策和控制程序流程的基础。通过熟练运用if和switch,你可以创建更复杂、更灵活的程序,解决各种实际问题。通过深入理解这些概念并...

    java中switch case语句需要加入break的原因解析

    Java中switch case语句需要...3. 在编写switch语句时,需要注意加入break语句,以避免执行下一个case语句。 Java中switch case语句需要加入break的原因解析是为了避免执行下一个case语句,确保switch语句的正确执行。

    VHDL本性语句与顺序语句的理解

    进程是VHDL中最常用的并行语句之一。进程包含在结构体中,一个结构体可以包含多个进程语句,这些进程之间是并行执行的,并且能够访问结构体或实体中定义的信号。进程的语法格式如下: ```vhdl process (sensitivity...

    java流程控制语句

    Java中常用的分支语句包括if-else语句和switch-case语句。if-else语句是基于布尔表达式的真假来决定执行哪个代码块,它有三种形式。第一种形式是简单的if语句,当布尔表达式为真时执行指定的代码块;第二种形式是if-...

Global site tag (gtag.js) - Google Analytics