-----------------------------------------------------------------------------------
备份和恢复数据库略过。在后面解说应用场景207---231,越过。

。。。。
数据库网络配置略过,其在实际的应用中不是非常普遍。所以。此处先不进行具体的解说。假设后期有时间会进行整理。
应用场景32----244越过。

。。。

。。

-----------------------------------------------------------------------------------

-------------------PL/SQL语言基础------------------------

基础知识点:

PL/SQL字符集
PL/SQL演示样例程序
声明变量与常量

----------------------------------------------------------

应用场景2245 :使用赋值语句

SET ServerOutput ON;
DECLARE
  BookName VARCHAR2(50);
BEGIN
  BookName := ' Oracle 11g学习笔记';
  dbms_output.put_line(BookName);
END;
/

应用场景246 :使用条件语句

SET ServerOutput ON;
DECLARE
  Num INTEGER := -11;
BEGIN
  IF Num < 0 THEN
    dbms_output.put_line('负数');
  ELSIF Num >0 THEN
    dbms_output.put_line('正数');
  ELSE
    dbms_output.put_line('0');
  END IF;
END;
/

应用场景247:分支语句CASE

SET ServerOutput ON;
DECLARE
  varDAY INTEGER := 3;
  Result VARCHAR2(20);
BEGIN
  Result := CASE varDAY
    WHEN 1 THEN '星期一'
    WHEN 2 THEN '星期二'
    WHEN 3 THEN '星期三'
    WHEN 4 THEN '星期四'
    WHEN 5 THEN '星期五'
    WHEN 6 THEN '星期六'
    WHEN 7 THEN '星期七'
    ELSE '数据越界'
  END;
  dbms_output.put_line(Result);
END;
/

应用场景248 :循环语句LOOP...EXIT...END

SET ServerOutput ON;
DECLARE
  v_Num INTEGER := 1;
  v_Sum INTEGER := 0;
BEGIN
  LOOP
    v_Sum := v_Sum + v_Num;
    dbms_output.put_line(v_Num);
    IF v_Num = 4 THEN
      EXIT;
    END IF;
    dbms_output.put_line(' + ');
    v_Num := v_Num + 1;
  END LOOP;
  dbms_output.put_line(' = ');
  dbms_output.put_line(v_Sum);
END;
/

应用场景249 :循环语句LOOP...EXIT WHEN ..END

SET ServerOutput ON;
DECLARE
  v_Num INTEGER := 1;
  v_Sum INTEGER := 0;
BEGIN
  LOOP
    v_Sum := v_Sum + v_Num;
    dbms_output.put_line(v_Num);
    EXIT WHEN v_Num = 4;
    dbms_output.put_line(' + ');
    v_Num := v_Num + 1;
  END LOOP;
  dbms_output.put_line(' = ');
  dbms_output.put_line(v_Sum);
END;
/

应用场景250 :循环语句WHILE ....LOOP...END LOOP

SET ServerOutput ON;
DECLARE
  v_Num INTEGER := 1;
  v_Sum INTEGER := 0;
BEGIN
  WHILE v_Num <= 4
  LOOP
    v_Sum := v_Sum + v_Num;
    dbms_output.put_line(v_Num);
    IF v_Num < 4 THEN
      dbms_output.put_line(' + ');
    END IF;
    v_Num := v_Num + 1;
  END LOOP;
  dbms_output.put_line(' = ');
  dbms_output.put_line(v_Sum);
END;
/

应用场景251 :循环语句FOR...IN...LOOP...END LOOP

SET ServerOutput ON;
DECLARE
  v_Num INTEGER;
  v_Sum INTEGER := 0;
BEGIN
  FOR v_Num IN 1..4
  LOOP
    v_Sum := v_Sum + v_Num;
    dbms_output.put_line(v_Num);
    IF v_Num < 4 THEN
      dbms_output.put_line(' + ');
    END IF;
  END LOOP;
  dbms_output.put_line(' = ');
  dbms_output.put_line(v_Sum);
END;
/

应用场景252 :异常处理

SET SERVEROUTPUT ON;
DECLARE
    x NUMBER;
BEGIN
    x:= 'abc';--向NUMBER类型的变量X中赋值字符串,导致异常
EXCEPTION
   WHEN VALUE_ERROR THEN
     DBMS_OUTPUT.PUT_LINE('数据类型错误');
END;
/

SET SERVEROUTPUT ON;
DECLARE
    var_DepName VARCHAR(40);
BEGIN
    SELECT Dep_Name INTO var_DepName
    FROM HRMAN.Departments WHERE Dep_id > 1;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
     DBMS_OUTPUT.PUT_LINE('没有数据');
   WHEN TOO_MANY_ROWS THEN
     DBMS_OUTPUT.PUT_LINE('返回多行匹配的数据');
    WHEN OTHERS THEN
     DBMS_OUTPUT.PUT_LINE('错误情况不明');
END;
/

应用场景253 :数值型函数

1.ABS函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(ABS(-4));
END;
/

2.CEIL函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(CEIL(116.34));
  dbms_output.put_line(CEIL(-112.74));
  dbms_output.put_line(CEIL(0));
END;
/

3.FLOOR函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(FLOOR(116.34));
  dbms_output.put_line(FLOOR(-112.74));
  dbms_output.put_line(FLOOR(0));
END;
/

4.POWER函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(POWER(15, 4));
END;
/

5.ROUND函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(ROUND(123.456, 2));
  dbms_output.put_line(ROUND(123.456, 1));
  dbms_output.put_line(ROUND(123.456, 0));
  dbms_output.put_line(ROUND(123.456, -1));
  dbms_output.put_line(ROUND(123.456, -2));
  dbms_output.put_line(ROUND(123.456, -3));
END;
/

应用场景254 :字符型函数

SET ServerOutput ON;
BEGIN
  dbms_output.put_line(ASCII('ABC'));
END;
/

COL DEP_NAME FORMAT A20
SELECT Dep_name, LENGTH(Dep_name) FROM HRMAN.Departments;

SET ServerOutput ON;
BEGIN
  dbms_output.put_line(UPPER('abc'));
END;
/

应用场景255 :日期型函数

sysdate函数:
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(SYSDATE);
END;
/

TO_CHAR函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(TO_CHAR(SYSDATE));
END;
/

last_day函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(LAST_DAY(SYSDATE));
END;
/

TO_DATE函数
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(TO_DATE('2010-2-5', 'yyyy-mm-dd'));
END;
/

months_between函数:
SET ServerOutput ON;
DECLARE
  date1 VARCHAR2(20) := '2010-06-05';
  date2 VARCHAR2(20) := '2010-10-05';
BEGIN
  dbms_output.put_line(MONTHS_BETWEEN(TO_DATE(date2,'yyyy-mm-dd'), TO_DATE(date1, 'yyyy-mm-

dd')));
END;
/

round函数:
SET ServerOutput ON;
BEGIN
  dbms_output.put_line(TO_CHAR(ROUND (SYSDATE, 'MM')));
END;

应用场景256 :统计函数

count函数
SELECT COUNT(Dep_id) FROM HRMAN.Departments;

MAX函数
SELECT MAX(Dep_id) FROM HRMAN.Departments;

MIN函数
SELECT MIN(Dep_id) FROM HRMAN.Departments;

Oracle442个应用场景---------PL/SQL基础相关推荐

  1. Oracle PL/SQL基础知识

    Oracle PL/SQL基础知识 过程(存储过程) 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out).通过在过程中使用输入参数,可以将数据传递到执行部分 ...

  2. ORACLE甚而,PL/SQL基础

    Oracle PL/SQL语言基础 PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用 ...

  3. oracle空间数据库实验报告,Oracle数据库实验报告六 PL/SQL基础

    Oracle数据库实验报告六 PL/SQL基础 -by QQC from BTBU [实验目的] PL/SQL的安装网上有很多教程这里就不做赘述了,如果后序需求大的话我再考虑做一期PL/SQL安装使用 ...

  4. PL/SQL基础之DECLARE部分(整理)

    整理于 Oracle PL/SQL编程详解 - 古立 - 博客园 PL/SQL基础之DECLARE部分整理 PL/SQL块的结构 声明规范 标识符 数据类型 定义记录类型语法: 定义VARRY数据类型 ...

  5. Oracle PL/SQL基础语法学习13:比较运算符

    系列文章目录 Oracle PL/SQL基础语法学习12:短路求值 Oracle PL/SQL基础语法学习13:比较运算符 Oracle PL/SQL基础语法学习14:BOOLEAN表达式 文章目录 ...

  6. pl/sql基础练习

    pl/sql块: 1 匿名块            ----不能存储,不能共享 2 存储过程 函数 触发器 包   ----带有名称的块,可以存储在oracle服务器上,可以共享和多次调用. 1 匿名 ...

  7. 20个案例掌握PL/SQL 基础

    有MS SQL基础,学习了两周多的PL/SQL,做了一些事例,但是很多信息在网上难以找到太多正确的答案,看到一篇又一篇的PL/SQL博文,案例方面的博文一篇又一篇的雷同,一看就是是Ctrl+C的复制. ...

  8. pl/sql基础知识—定义并使用变量

    n  介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...

  9. PL/SQL基础(1):语法

    本篇是 Oracle基础小结 系列之一. 本篇目录 1.什么是PL/SQL? 2.PL/SQL基本结构 3.PL/SQL符号定义 4.PL/SQL数据类型 5.PL/SQL条件句法 6.PL/SQL循 ...

最新文章

  1. Android开发之设置Dialog外部页透明的方法亲测可用
  2. CentOS6.4系统启动失败故障排查
  3. Servlet 开发【07】Servlet两种跳转
  4. 计算机是通过 来访问存储单元的,计算机是通过____来访问存储单元的
  5. Tricks(三十)—— 获取高维向量邻域的方法
  6. 读取图像中任意点的像素值
  7. 2019FME博客大赛——基于FME的武汉市航班数据获取及城市联系度分析
  8. 博士申请 | 香港大学计算机科学系黄超老师招收2022年入学全奖博士生
  9. redis之SDS字符串,到底高效在哪里?(全面分析)
  10. 企业级技术与大数据BI——节选自专著《Big Data Fundamentals: Concepts, Drivers Techniques》
  11. mysql按照年龄区间分组查询
  12. SpringMVC 通过Map、Model和ModelMap向页面传值
  13. 微信网页开发问题汇总
  14. java 设计模式之: 建造模式(Builder)
  15. [深度学习基础]正则化
  16. Python请求HTTPS证书错误
  17. 离散信源信息量、平均信息量的计算
  18. JVM内存结构和垃圾回收算法
  19. android11 源码内置第三方输入法并默认选择
  20. 2021-2027全球及中国泳池水监测设备行业研究及十四五规划分析报告

热门文章

  1. 如何用初中知识理解机器学习到底在干什么事情
  2. AI算法领域常用的39个术语(下)
  3. 七个最流行的Python神经网络库
  4. 陈天奇:深度学习编译技术的现状和未来
  5. 吴恩达机器学习笔记 —— 18 大规模机器学习
  6. 心得丨在开始第一个机器学习项目之前就了解的那些事儿
  7. 干货丨一文读懂深度学习与机器学习的差异
  8. 强化学习之gym初战实战案例:悬崖案例CliffWalking-v0。
  9. 国际运营商智慧城市探索与实践
  10. The Human Touch 将人工智能和机器人用于病人工作的实际和伦理意义