`
springking
  • 浏览: 131169 次
  • 性别: 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;

 

 

分享到:
评论

相关推荐

    MATLAB程序设计实验.doc

    " " "编写程序演示控制结构的用法: " " "编写程序分别来演示循环(for、while)、分支(if-else-end " " "、switch-case)和异常处理(try-catch)控制结构的用法。 " " "3.编写程序分别演示以下命令的功能。...

    非常经典的c++ primer视频教程6-10

    1.4 控制结构 1.4.1 while语句 1.4.2 for语句 1.4.3 if语句 1.4.4 读入未知数目的输入 1.5 类的简介 1.5.1 Sales_item类 1.5.2 初窥成员函数 1.6 C++程序 第2章 变量和基本类型 2.1 基本内置类型 2.1.1...

    数据库系统概论实验报告4.pdf

    编写程序,判断输入的字符是字母、数字或是特殊符号(建议用 DO CASE 语 句实现,输入和输出用格式化语句) 。 提示:本程序中判断的数字是字符型数字,与数值型数字类型不同。 3.编写程序, 显示学生登记表中入校...

    用C编写班级成绩管理系统

    4、针对构想出来的界面进行程序的编写。 最后,感谢老师您对我的指导和从百忙中抽空看我的设计,谢谢! 附件: 源程序: #include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*其它说明*/ #include ...

    verilog基础教程

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    Verilog教程(PDF格式)

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    VerilogHDL教程

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    Verilog HDL硬件描述语言.rar

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    verilog语言PDF教程

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    C# 代码编写规范

    C# 代码编写规范 目录 目录1目的..............................................................................................................................................2 1目的........................

    Verilog HDL硬件描述语言入门到精通加实例

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    Verilog HDL硬件描述语言教程

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    verilog pdf

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    Verilog 经典教程

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    verilog hdl FPGA硬件描述语言

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    verilog教程(有目录)

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    详细介绍Verlog语言要素

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

    VerilogHDL硬件描述语言

    8.6 case语句 74 8.7 循环语句 76 8.7.1 forever 循环语句 76 8.7.2 repeat 循环语句 76 8.7.3 while 循环语句 77 8.7.4 for 循环语句 77 8.8 过程性连续赋值 78 8.8.1 赋值—重新赋值 78 8.8.2 force与release 79 ...

Global site tag (gtag.js) - Google Analytics