博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PL/SQL轻量版(二)——基本语法
阅读量:5238 次
发布时间:2019-06-14

本文共 1705 字,大约阅读时间需要 5 分钟。

一、流程控制

  1.条件判断

  语法:

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!

  示例:

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('工资大于1万');  ELSIF V_sal > 5000      THEN dbms_output.put_line('工资大于5千');  ELSE      dbms_output.put_line('工资小于5千');  END IF;END;

  CASE表达式:

CASE selectorWHEN expression1 THEN result1WHEN expression2 THEN result2WHEN expressionN THEN resultN[ ELSE resultN+1]END;

   2.循环

    基本循环

LOOP  Sequence of statements;END LOOP;

 也可以使用EXIT WHEN进行退出:

LOOP      stmt;      exit WHEN x > 50;   END LOOP;

  示例:

--包含初始化条件、循环体、循环条件、迭代条件DECLARE  v_i NUMBER(3) := 1;BEGIN  LOOP      dbms_output.put_line(v_i);      -- v_i = v_i + 1;      EXIT WHEN v_i >= 10;      v_i := v_i + 1;   END LOOP;END;

    WHILE循环

WHILE condition LOOP   sequence_of_statementsEND LOOP;

  示例:

--包含初始化条件、循环体、循环条件、迭代条件DECLARE  v_i NUMBER(3) := 1;BEGIN      WHILE v_i <= 10 LOOP      dbms_output.put_line(v_i);      v_i := v_i + 1;   END LOOP;END;

    FOR循环

FOR 循环计数器 IN [ REVERSE ] 下限 .. 上限 LOOP要执行的语句;END LOOP;

  示例:

--包含初始化条件、循环体、循环条件、迭代条件DECLARE  BEGIN   FOR c IN 1..10 LOOP --c会自动++      dbms_output.put_line(c);   END LOOP;END;

  3.GOTO

PL/SQL 中 GOTO 语句是无条件跳转到指定的标号去的意思。语法如下:GOTO label;----------------------------------------------------<

  4.空处理NULL

BEGIN…IF v_num IS NULL THENGOTO print1;END IF;…<
>NULL; -- 不需要处理任何数据。END;

 

转载于:https://www.cnblogs.com/jiangbei/p/8229146.html

你可能感兴趣的文章
Code as IaaS for Azure : Terraform 初步
查看>>
WebFrom 小程序【分页功能 】
查看>>
Learning-Python【26】:反射及内置方法
查看>>
day7--面向对象进阶(内含反射和item系列)
查看>>
Python深入01 特殊方法与多范式
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
转:apache 的mod-status
查看>>
转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
查看>>
结对编程博客
查看>>
Kendo MVVM 数据绑定(四) Disabled/Enabled
查看>>
python学习笔记3-列表
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
C++11 生产者消费者
查看>>
IO multiplexing 与 非阻塞网络编程
查看>>
hdu4105  Electric wave
查看>>
基于内容的图片检索CBIR(Content Based Image Retrieval)简介
查看>>
线程androidAndroid ConditionVariable的用法
查看>>