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

备份和恢复数据库略过。在后面解说应用场景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基础

    介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...

  2. Oracle实战笔记(第六天)之PL/SQL基础

    一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语 ...

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

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

  4. PL/SQL基础-异常处理

    --*********异常处理一.异常的类型 ORACLE异常分为两种类型:系统异常.自定义异常. 其中系统异常又分为:预定义异常和非预定义异常.1.预定义异常 ORACLE定义了他们的错误编号和异常 ...

  5. PL/SQL基础2(笔记)

    1 第一个PL/SQL的程序 DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; / --2一个简单的PL/SQL程序 DECLARE v ...

  6. PL/SQL基础1(笔记)

    --基本结构DECLARE--变量声明部分:在此声明PL/SQL用到的变量,类型,游标,以及局部的存储过程和函数BEGIN --执行部分:过程及SQL语句,即程序的主要部分 EXCEPTION --执 ...

  7. oracle PL/SQL基础编程

    PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...

  8. Oracle数据库—— PL/SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

  9. PL/SQL 基础编程

    PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql  基本数据类型 数值类型 1. nu ...

随机推荐

  1. Swift Intermediate Language (SIL)

    Swift Intermediate Language (SIL) https://github.com/apple/swift/blob/master/docs/SIL.rst#witness-me ...

  2. 18第一章 ASP.Net内建对象

    第一章        ASP.Net内建对象 第一章        ASP.Net内建对象 ASP.Net为保持用户的数据和信息,内建了许多对象,包括Application.Response.Requ ...

  3. Spring Data Redis入门示例:数据序列化 (四)

    概述 RedisTemplate默认使用的是基于JDK的序列化器,所以存储在Redis的数据如果不经过相应的反序列化,看到的结果是这个样子的: 可以看到,出现了乱码,在程序层面上,不会影响程序的运行, ...

  4. Python机器学习——Agglomerative层次聚类

    层次聚类(hierarchical clustering)可在不同层次上对数据集进行划分,形成树状的聚类结构.AggregativeClustering是一种常用的层次聚类算法.   其原理是:最初将 ...

  5. swiper 3D 覆盖流的使用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  6. NOIP专题复习1 图论-最短路

    一.知识概述 今天我们要复习的内容是图论中的最短路算法,我们在这里讲3种最短路求法,分别是:floyd,dijkstra,spfa. 那么我们从几道例题来切入今天讲解的算法. 二.典型例题 1.热浪 ...

  7. 页面jsp向后端发送:HTTP 400错误 - 请求无效(Bad request)

    HTTP 400错误 - 请求无效(Bad request) jsp页面有误 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说 ...

  8. ehcache的学习笔记(一)

    学习ehcache文档: 介绍:Ehcache是一个开源的项目,用来提高性能的基于标准化的缓存,无需使用数据库,简化了可扩展性.他是最广泛使用的基于java的缓存,因为他是强壮的,被证实的,功能全面的 ...

  9. Ubuntu系统搭建django+nginx+uwsgi

    1. 在开发机上的准备工作 2. 在服务器上的准备工作 3.安装uwsgi 4.编写uwsgi配置文件,使用配置文件启动uwsgi 5. 安装nginx 6. 收集静态文件 7. 编写nginx配置文 ...

  10. 新进Linux菜鸟,请多多关照

    早早知晓Linux的大名,一直未研究学习,近来看了kernel一些源代码,在网上搜过很多基础的知识.感觉这个Linux的世界很广大,值得好好深入学习.初生婴儿,呱呱落地,必先躺若干日后能坐,在学爬,进 ...