pl/sql(二) 流程控制语句

相当于java中的if else语句

IF  布尔表达式 THEN
PL/SQL SQL 语句;
END IF;

IF 布尔表达式 THEN
PL/SQL SQL 语句;
ELSE
其它语句;
END IF;

IF     布尔表达式   THEN
PL/SQL SQL 语句;
ELSIF  其它布尔表达式  THEN
其它语句;
ELSIF  其它布尔表达式  THEN
其它语句;
ELSE
其它语句;
END IF;

提示: ELSIF 不能写成 ELSEIF

要求: 查询出 150号 员工的工资, 若其工资大于或等于 10000 则打印 ‘salary >= 10000‘;
若在 5000 到 10000 之间, 则打印 ‘5000<= salary < 10000‘; 否则打印 ‘salary < 5000‘

declare
  v_sal employees.salary%type;
 begin
  select salary into v_sal from employees where employee_id=100;
  if v_sal>=10000 then
  dbms_output.put_line(‘salary>=10000‘);
  elsif v_sal>=5000 then
  dbms_output.put_line(‘5000<=salary<10000‘);
  else dbms_output.put_line(‘salary<5000‘);
  end if;
 end;

case表达式

CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
WHEN expressionN THEN resultN
[ ELSE resultN+1]
END;

例子:要求: 查询出 150号 员工的工资, 若其工资大于或等于 10000 则打印 ‘salary >= 10000‘; 
若在 5000 到 10000 之间, 则打印 ‘5000<= salary < 10000‘; 否则打印 ‘salary < 5000‘

 declare
  v_sal employees.salary%type;
  v_temp varchar2(30);
 begin
  select salary into v_sal from employees where employee_id=100;
    v_temp:=
    case trunc(v_sal/50000)
    when 2 then
    ‘salary>=10000‘
    when 1 then
    ‘5000<=salary<10000‘
    else ‘salary<5000‘
    end;
    dbms_output.put_line(v_sal||‘,‘||v_temp);
 end;

要求: 查询出 122 号员工的 JOB_ID, 若其值为 ‘IT_PROG‘, 则打印 ‘GRADE: A‘;
‘AC_MGT‘, 打印 ‘GRADE B‘,
‘AC_ACCOUNT‘, 打印 ‘GRADE C‘;
否则打印 ‘GRADE D‘

/SQL> declare
  2     v_job_id varchar2(10);
  3     v_temp varchar2(10);
  4  begin
  5  select job_id into v_job_id from employees where employee_id=100;
  6  v_temp:=
  7  case v_job_id when ‘IT_PROG‘ then ‘A‘
  8               when ‘AC_MGT‘ then ‘B‘
  9               when ‘AC_ACCOUNT‘ then ‘C‘
 10              else ‘D‘
 11             end;
 12  dbms_output.put_line(v_job_id||‘,‘||v_temp);
 13  end;

原文地址:https://www.cnblogs.com/h-dada/p/9069108.html

时间: 2024-10-11 00:51:40

pl/sql(二) 流程控制语句的相关文章

PL/SQL之--流程控制语句

一.简介 像编程语言一样,oracle PL/SQL也有自己的流程控制语句.通过流程控制语句,我们可以在PL/SQL中实现一下比较复杂的业务逻辑操作.而无需到程序中去控制,在一定程度上提高了效率,这也是PL/SQL的强大之处.PL/SQL流程控制语句有如下几种: 控制语句: 包括IF 语句.CASE语句 循环语句: 包括LOOP语句, WHILE语句.FOR语句 顺序语句: 包括GOTO语句 二.语句种类 1.控制语句 a.IF语句 语法如下: IF 条件语句 TEHN 执行语句 ELSIF 条

java基础二 &lt;流程控制语句, 方法,数组,java内存结构&gt; 未完待续...

话不多说,直接上干货... 一:流程控制语句 break :  结束当前循环 continue:  结束本次循环,继续下次循环 return:  结束方法 二: 方法 1.方法的特点: 定义在类中的,有特定功能的函数. 方法与方法之间是平级的,不能在方法中定义方法.方法只能够调用方法. 2.方法的重载: 在同一类中,方法名相同,参数列表不同(个数不同,对应的类型不同). 与返回值类型无关. 对应的类型不同的话,与顺序有关系 与形式参数的变量名无关 3.方法的重写: 子类可继承父类中的方法,而不需

PL/SQL 03 流程控制

--IF语法IF condition THEN  statements;[ELSIF condition THEN  statements;][ELSE  statements;]END IF; --CASE 语法 1.在 CASE 语句中使用单一选择符进行等值比较 CASE selector  WHEN expression1 THEN sequence_of_statements1;  WHEN expression2 THEN sequence_of_statements2;  ... 

29. SQL -- T-SQL 流程控制语句

T-SQL 流程控制语句 Transact-SQL 语言提供了一些可以用于改变语句执行顺序的命令,称为流程控制语句.流程控制语句允许用户更好地组织存储过程中的语句,方便地实现程序的功能.流程控制语句与常见的程序设计语言类似,主要包含以下几种. T-SQL 的流程控制语句: IF-ELSE BEGIN-END CASE WHILE-CONTINUE-BREAK WAITFOR GOTO RETURN IFELSE 语句: 指定 Transact-SQL 语句的执行条件.如果满足条件,则在 IF 关

[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ——通过知识共享树立个人品牌. 继上五篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不

PL/SQL流程控制语句

PL/SQL流程控制语句介绍PL/SQL的流程控制语句, 包括如下三类:控制语句: IF 语句循环语句: LOOP语句, EXIT语句顺序语句: GOTO语句, NULL语句①if语句 IF <布尔表达式> THEN PL/SQL 和SQL语句; ELSIF< 其它布尔表达式> THEN 其它语句; ELSIF< 其它布尔表达式> THEN 其它语句; ELSE 其它语句; END IF; 例: declare v_emp_name employees.last_nam

PL/SQL程序设计、流程控制

PL/SQL是 Procedure Language & Structured Query Language 的缩写 PL/SQL是对SQL语言存储过程语言的扩展 PL/SQL程序由三个块组成,即声明部分.执行部分.异常处理部分. 在语句块的声明部分对变量声明,声明一个变量的语法是: variable_name [ constant ] type [ not null ] [:=value]其中: variable_name 为变量名 type 为类型 value 为变量的初值 PL/SQL结构

【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航

原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解> 系列文章目录导航 ——通过知识共享树立个人品牌. 本是成书的,但后来做其他事了,就无偿的贡献出来,被读者夸其目前为止最“实在.经典”的写ORACLE PL/SQL编程的文章-! 觉得对你有帮助,请留言与猛点推荐,谢谢. [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) 本篇主要内容如下:第一章 PL/S

ORACLE PL/SQL编程总结(一)

----------PL/SQL 程序设计简介----------- 1.1   SQL与PL/SQL 1.1.1   什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写.PL/SQL是对SQL语言存储过程语言的扩展.从ORACLE6以后,ORACLE的RDBMS附带了PL/SQL.它现在已经成为一种过程处理语言,简称PL/SQL.目前的PL/SQL包括两部分,一部分是数据库引擎部分:另一部分是可嵌入到许多产

浅谈PL/SQL语言基础

在前面的学习中,我们大部分接触的都是SQL语言,但是,在实现复杂操作的时候,SQL语言就无能为力了,这时候就需要引入新的语言,PL/SQL语言就是对SQL语言的扩展,可以实现存储过程,函数等的创建.下面是我对PL/SQL语言的总结,和大家分享一下. 一.基本结构 1.PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性发送给服务器,当PL/SQL引擎分析收到PL/SQL语句块中的内容,把其中的过程语句由PL/SQL引擎自身去执行,把PL/SQL语句块中的SQL语句交给服务器的SQL语