Oracle442个应用场景---------PL/SQL基础
-----------------------------------------------------------------------------------
备份和恢复数据库略过。在后面解说应用场景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基础的更多相关文章
- Oracle数据库之PL/SQL基础
介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...
- Oracle实战笔记(第六天)之PL/SQL基础
一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语 ...
- pl/sql基础知识—定义并使用变量
n 介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...
- PL/SQL基础-异常处理
--*********异常处理一.异常的类型 ORACLE异常分为两种类型:系统异常.自定义异常. 其中系统异常又分为:预定义异常和非预定义异常.1.预定义异常 ORACLE定义了他们的错误编号和异常 ...
- PL/SQL基础2(笔记)
1 第一个PL/SQL的程序 DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; / --2一个简单的PL/SQL程序 DECLARE v ...
- PL/SQL基础1(笔记)
--基本结构DECLARE--变量声明部分:在此声明PL/SQL用到的变量,类型,游标,以及局部的存储过程和函数BEGIN --执行部分:过程及SQL语句,即程序的主要部分 EXCEPTION --执 ...
- oracle PL/SQL基础编程
PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...
- Oracle数据库—— PL/SQL基础编程
一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...
- PL/SQL 基础编程
PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql 基本数据类型 数值类型 1. nu ...
随机推荐
- app dcloud 打包公用证书
Android平台云端打包使用的DCloud公用证书 分类:HTML5+ 5+App开发 HBuilder|HBuilderX应用云端打包Android平台默认使用的DCloud公用证书,其信息如下: ...
- $("[lay-id='"+this.id+"']")
$("[lay-id='"+this.id+"']") $("[lay-id='"+this.id+"'] .layui-tabl ...
- uploadify插件可选参数的详细介绍
Uploadify 是一个JQuery插件,它协助你轻松简单的将一个或多个文件上传至你的网站. 它需要Flash控件和后台开发语言的支持,丰富的参数配置,同时也简单易用,让你轻松上手. 官 ...
- ELK6.3.2+filebeat部署过程
ELK安装部署 elk作为公司的日志收集检索的方案的首选,是必要的工具,下面介绍一下elk的安装部署方法,以及一些报错的解决方法:(使用的是ubuntu16.04,jdk使用1.8,ELK的版本为6. ...
- eclipse perl配置
先下载jdk,如果jdk装的是32位,eclipse也要下载32位的,64位也是一样.我用的是jdk7 64位. 下载eclipse,去官网上下载最新的http://www.eclipse.org/d ...
- Python之文件处理-批量修改md文档内容
目录 Python之文件处理-批量修改md文档内容 Python之文件处理-批量修改md文档内容 #!/usr/bin/env python # -*- coding:utf-8 -*- import ...
- CSRF之Ajax请求
A:Ajax提交数据是,携带的CSRF在data中: <form method="POST" action="/csrf.html"> {% csr ...
- 牛客网补题 New Game!(原Wannafly summer camp day2原题)
思路:这个题在秦皇岛的时候好像没有写出来,反正我是没有写出来,题解是听懂了:把直线和圆都看做一个结点,圆和直线用点到直线的距离与半径差求出来,圆和圆之间用点和点之间的距离和半径差表示,最后最短路跑一遍 ...
- matplotlib的使用--折线图--入门
目录 matplotlib应用介绍 一天天气变化图 两小时随机温度图 中文显示问题 个人交往统计图 多人交往统计图 总结 介绍: 举个例子(一天天气变化图): 假设一天中每隔两个小时(range(2, ...
- 【Codeforces 1031C】Cram Time
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 如果找到最大的n使得1+2+...+n<=a+b 然后第一天输出1,2.3,4....t1 这里1+2+..+t1<=a 这还远远 ...