ORACLE中的结构控制(IF语句)

ORACLE中有针对逻辑的节制语句,这些语句在日常的存储过程、函数、、中应用比力普遍对其编程启着主要的感化,可以完当作营业逻辑的框架部门。

东西/原料

  • oracle
  • PLSQL

IF语句简介

  1. 1

    IF前提节制语句就是按照当前前提判定进入到哪一个步调中,当前提为真着进入一个流程,前提为假则进入别的一个流程。

    IF语句中有三种利用体例:IF....、IF..ELSE..、IF...ELSEIF....。按照现实环境矫捷运用

IF..布局

  1. 1

    IF....布局

    语法:

    IF condition THEN 

      statements;

    END IF;

    注释:IF.... 语句是最简单的布局体例,他只有一个IF语句,当condition 为真时,程序将会执行statements,当condition 为假时,将跳过这一段

  2. 2

    例:计较9的6次幂是否大于50 0000,若是大于则输出信息

    DECLARE 

    str1 number(10,0);

    BEGIN

    str1 := POWER(9,6);

    IF str1>500000 THEN

      DBMS_OUTPUT.PUT_LINE('9的6次幂大于50万,其成果是:'||str1);

    END IF;

    END;

  3. 3

    代码解析:

    第2行暗示声明一个类型为number(10,0)的标量 str1 

    第4行暗示给变量str1 赋值为9的6次方

    第5-7行暗示判定,若是变量str1大于50万,则执行第6行数据,若是不知足则跳过第6行

IF..ELSE..布局

  1. 1

    语法:

    IF condition THEN 

      statements1;

    ELSE

     statements2;

    END IF;

    注释:当condition 为真时,程序将会执行statements1,当condition 为假时,程序将会执行statements2

  2. 2

    例:计较9的5次幂是否大于50 0000,输出其信息

    DECLARE 

    str1 number(10,0);

    BEGIN

    str1 := POWER(9,5);

    IF str1>500000 THEN

      DBMS_OUTPUT.PUT_LINE('9的5次幂大于50万,其成果是:'||str1);

     ELSE

      DBMS_OUTPUT.PUT_LINE('9的5次幂小于50万,其成果是:'||str1);

    END IF;

    END;

  3. 3

    代码解析:

    第2行暗示声明一个类型为number(10,0)的标量 str1 

    第4行暗示给变量str1 赋值为9的5次方

    第5-6行暗示判定,若是变量str1大于50万为真,则执行第6行数据

    第7-8行对应第5-6行,若是变量str1大于50万为假,则执行

IF...ELSEIF....布局

  1. 1

    语法:

    IF condition1 THEN 

      statements1;

    ELSIF condition2 THEN

     statements2;

    ...

    [ELSE statements]

    END IF;

    注释:当condition1 为真时执行statements1

    当condition1 为假时则判定condition2是否为真,为真时则执行statements2,为假时则执行后面的判定或者else或者退出

  2. 2

    例:随机获取一个100--200的随机数,判定其地点的规模

    DECLARE

      STR1 NUMBER(10);

    BEGIN

      STR1 := DBMS_RANDOM.VALUE(100,200);

      IF STR1>=100 AND  STR1<130 THEN

        DBMS_OUTPUT.PUT_LINE('STR1的值在100--130规模内');

       ELSIF STR1>=130 AND  STR1<160 THEN

        DBMS_OUTPUT.PUT_LINE('STR1的值在130--160规模内');

       ELSIF STR1>=160 AND  STR1<190 THEN

        DBMS_OUTPUT.PUT_LINE('STR1的值在160--190规模内');

       ELSE

        DBMS_OUTPUT.PUT_LINE('STR1的值在190--200规模内'); 

      END IF;

    END;

  3. 3

    代码解析:

    第2行:声明一个NUMBER型变量STR1

    第4行:给STR1赋值一个随机数,规模是100-200之间

    第5-6行:判定STR1是否大于100小于130,若是为真则输出第6行,为假则往下进行第7步判定

    第7-10行:与上诉一样,前提为真则输出,前提为假则继续标的目的下判定

    第11行:若是以上前提都为假,则输出12行信息

  • 发表于 2019-07-10 20:03
  • 阅读 ( 875 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具