PL/SQL 流程控制语句-条件语句

一.条件语句:

又称选择语句,它的主要作用是根据条件的变化选择执行不同的代码,它包括IF语句和CASE语句。
IF语句
--1.IF...THEN...ELSE...END IF;
判断两个输入数值的大小
DECLARE
--定义两个变量
V_DATE1 NUMBER:='&请输入第一个数';
V_DATE2 NUMBER:='&请输入第二个数';
BEGIN
  --判断那个数值更大
  IF V_DATE1>V_DATE2 THEN
    DBMS_OUTPUT.PUT_LINE(V_DATE1||'大');
  ELSE
    DBMS_OUTPUT.PUT_LINE(V_DATE2||'大');
  END IF;
END;

说明:if里的表达式为true则执行if下的语句,不然则执行else下的语句
--2.IF...THEN...ELSIF...ELSE...END IF;
根据输入分数给定等级
DECLARE
--定义变量:
V_1 NUMBER:='&输入你的分数';
BEGIN
  --判断数据大小
  IF V_1>=90 THEN
    DBMS_OUTPUT.PUT_LINE('A');
  ELSIF V_1>=80 THEN
    DBMS_OUTPUT.PUT_LINE('B');
  ELSIF V_1>=60 THEN
    DBMS_OUTPUT.PUT_LINE('C');
  ELSE
    DBMS_OUTPUT.PUT_LINE('D');
  END IF;
END;

解释:

当第一个表达式为true则执行第一个语句,若第一个表达式为false则判断第二个表达式,

如果第二个表达式为true执行第二个语句,若第二个表达式为false则判断第三个表达式……

直到最后一个表达式判断仍为false,则执行ELSE中的语句。

CASE语句
--3.CASE...WHEN...THEN...ELSE...END CASE;
CASE的用法与IF差不多,不过IF是以END IF结尾CASE是以IF CASE结尾;
根据输入分数判定等级
DECLARE
--定义变量
V_GRADE NUMBER:='&请输入你的分数';
BEGIN
  --判断分数等级
  CASE  WHEN V_GRADE>=90 THEN
         DBMS_OUTPUT.PUT_LINE('A');
    WHEN V_GRADE>=80 THEN
         DBMS_OUTPUT.PUT_LINE('B');
    WHEN V_GRADE>=60 THEN
         DBMS_OUTPUT.PUT_LINE('C');
    ELSE
         DBMS_OUTPUT.PUT_LINE('D');
  END CASE;
END;

解释:当第一个表达式为true则执行第一个语句,若第一个表达式为false则判断第二个表达式,

如果第二个表达式为true执行第二个语句,若第二个表达式为false则判断第三个表达式……

直到最后一个表达式判断仍为false,则执行ELSE中的语句。(与上面雷同)

你可能感兴趣的:(1024程序员节,oracle,数据库)