OraclePLSQL基础培训课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《OraclePLSQL基础培训课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OraclePLSQL 基础 培训 课件
- 资源描述:
-
1、1Oracle PL/SQL 基础培训基础培训.2目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常处理.3课程介绍课程介绍教程概述 本教程假设读者已了解关系型数据库基本原理,明白表、视图、主键、索引、外键、约束、关联等基本概念,熟悉Oracle SQL 本教程定位是Oracle PL/SQL简明、实用教程,偏向于基本PL/SQL开发,若进一步学习PL/SQL高级功能,请参阅其他教程或书籍文档 课程目标是完成课程后可进行大部分Oracle PL/SQL开发(编写)适用对象 学习过Oracle SQL,未使用过Oracle PL/SQL的读者
2、使用过SQL Server的Transact-SQL或其他数据库版本的”T-SQL”,未使用过Oracle PL/SQL的读者.4目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常处理.5基础知识基础知识PL/SQL介绍Hello WorldPL/SQL块分析变量声明运算符号.6基础知识基础知识-PL/SQL-PL/SQL介绍介绍PL/SQL概述 PL/SQL是Procedural Language extensions to SQL简写 将过程结构与SQL无缝集成,实现数据结构和算法,最终实现对数据库的数据处理和其他相关功能 PL/SQL是
3、块结构化语言,块是PL/SQL基本单元PL/SQL扩充 变量和类型 条件语句 循环语句.7基础知识基础知识-Hello World-Hello World参考代码.8基础知识基础知识-PL/SQL-PL/SQL块分析块分析基本语法语法分析 PL/SQL是块结构程序,使用DECLARE、BEGIN、EXCEPTION、END关键字声明块,块包含声明部分、执行部分、异常部分 使用- 做单行注释,/* */做多行注释 在DECLARE部分声明变量 NULL语句表示什么都不做 RETURN语句,显示退出PL/SQL块执行 PL/SQL块可以嵌套.9基础知识基础知识声明变量基本语法变量类型声明变量示例变
4、量作用域.10语法说明variable_name 变量名称CONSTANT 声明为常量Datatype 数据类型NOT NULL 变量不能为空(必须有赋值):= 赋值符号DEFAULT 赋默认值initial_value 初始值基础知识基础知识- -声明变量声明变量- -基本语法基本语法.11基础知识基础知识- -声明变量声明变量- -变量类型变量类型 数字: NUMBER(p,s) :p是数字长度,s是小数保留位,如NUMBER(7,2),就是最多保存7位的数字,其中小数点前是5位,小数点后是2位。p,s可以为空,一般为空 字符 VARCHAR2:存放可变长字符串,有最大长度限制 CHAR:
5、字符型,固定长度 CLOB:大对象字符 LONG:长字符型 日期 DATE 布尔 BOOLEAN 二进制 RAW:存储多媒体数据,如图象、声音、视频等 BLOB:大对象如图象、声音、视频等.12基础知识基础知识- -声明变量声明变量- -变量类型变量类型 引用: %TYPE :引用某个表某个字段的类型和长度, %ROWTYPE :引用某个表全部字段的类型和长度 记录 Record Type:复合多个其他类型,其中定义Record Type语法如下TYPE record_type is RECORD( record_field1 field1type NOT NULL := expr1 ; re
6、cord_field2 field2type NOT NULL := expr2 ; record_fieldn fieldntype NOT NULL := exprn ;)record_type是定义的新的记录类型record_field1 record_fieldn是记录类型字段名称Field1type fieldntype是各字段类型NOT NULL可选项,指定字段是否可以为空Express1expressn给各字段赋初始值.13基础知识基础知识- -声明变量声明变量- -声明变量示例声明变量示例 变量声明:.14基础知识基础知识- -声明变量声明变量- -声明变量示例声明变量示例 变
7、量赋值:.15基础知识基础知识- -声明变量声明变量- -变量作用域变量作用域作用域:PL/SQL变量作用域从变量声明开始,到代码块结束子块声明的变量,对块不可见字块同名变量会覆盖父块变量定义父块时指定块名,在字块通过父块名.变量名,引用父块同名变量.16基础知识基础知识- -运算符号运算符号算术运算符关系运算符逻辑运算符.17基础知识基础知识- -运算符号运算符号算术运算符号+ 加 1+1- 减 2-1* 乘 2*3/ 除 4/2| 字符连接 Beijing | 2008.18基础知识基础知识- -运算符号运算符号关系运算符号= 等于 ,1=1 不等于, 21 大于,21 小于, 1= 大于
8、等于, 2=1= 小于等于,1=2IS NULL 为空,没有值,不是空字符串IS NOT NULL 不为空,有值BETWEEN AND 检索两值之间的内容,2 BETWEEN 1 AND 3IN检索匹配列表中的值LIKE检索匹配字符样式的数据.19基础知识基础知识- -运算符号运算符号逻辑运算符号AND 两个为真则结果为真OR 一个为真即为真NOT 取相反的逻辑值.20目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常处理.21条件转移条件转移 IF THEN IF THEN ELSE IF THEN ELSIF.22条件转移条件转移-IF
9、THEN-IF THEN语法IF 条件判定为真 THEN 可执行语句块END IF;示例.23条件转移条件转移-IF THEN-IF THEN示例.24条件转移条件转移-IF THEN ELSE-IF THEN ELSE语法IF 条件判定为真 THEN 可执行语句块1ELSE 可执行语句块2END IF;示例.25条件转移条件转移-IF THEN ELSE-IF THEN ELSE示例.26条件转移条件转移-IF THEN ELSIF-IF THEN ELSIF语法IF 条件判定为真 THEN 可执行语句块1ELSIF 可执行语句块2.ELSIF 可执行语句块NEND IF;示例.27条件转移
10、条件转移-IF THEN ELSIF-IF THEN ELSIF示例.28目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常处理.29循环执行循环执行 LOOP WHILE LOOP FOR LOOP.30循环执行循环执行-LOOP-LOOP语法LOOP 可执行语句块EXIT WHEN 条件判定END LOOP;说明LOOP是无限循环,可使用EXIT显式退出LOOP循环EXIT有两种格式:IF.THEN EXIT END IF和EXIT WHENEXIT语句必须放在循环内EXIT可以出现多次,第一个EXIT执行后,马上退出循环EXIT只能退出
11、循环,不能退出PL/SQL块,要退出PL/SQL块,使用RETURN;.31循环执行循环执行-LOOP-LOOP示例.32循环执行循环执行-LOOP-LOOP示例.33循环执行循环执行-WHILE LOOP-WHILE LOOP语法WHILE 条件判定 LOOP 可执行语句块END LOOP;说明每次执行“可执行语句块”前,先判断“条件判定”是否为TRUE,因此循环有可能一次也不执行如果“条件判定”一直为TRUE,则循环无限进行下去,注意在“可执行语句”部分设置“条件判定”可用EXIT显式退出当前循环,EXIT有两种格式:IF.THEN EXIT END IF和EXIT WHENEXIT语句必
12、须放在循环内EXIT可以出现多次,第一个EXIT执行后,马上退出循环EXIT只能退出循环,不能退出PL/SQL块,要退出PL/SQL块,使用RETURN;.34循环执行循环执行-WHILE LOOP-WHILE LOOP示例.35循环执行循环执行-WHILE LOOP-WHILE LOOP示例.36循环执行循环执行-WHILE LOOP-WHILE LOOP示例.37循环执行循环执行-WHILE-WHILE语法FOR 计数器变量 IN REVERSE 低界值.高界值 LOOP 可执行语句块END LOOP;说明是每次执行“可执行语句块”前,先判断“条件判定”是否为TRUE,因此循环有可能一次也
13、不执行 可用EXIT显式退出当前循环,EXIT有两种格式:IF.THEN EXIT END IF和EXIT WHEN EXIT语句必须放在循环内 EXIT可以出现多次,第一个EXIT执行后,马上退出循环 EXIT只能退出循环,不能退出PL/SQL块,要退出PL/SQL块,使用RETURN;.38循环执行循环执行-FOR LOOP-FOR LOOP示例.39循环执行循环执行-WHILE LOOP-WHILE LOOP示例.40循环执行循环执行-WHILE LOOP-WHILE LOOP示例.41目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常
14、处理.42游标与数据游标与数据概念分类属性动作声明游标使用游标隐式游标SELECT INTO.43游标与数据游标与数据- -游标概念游标概念概念 游标是一个机制,通过这个机制可以给一个SQL语句命名,并操作该SQL返回的数据或者使用该SQL返回的数据操作其他的数据分类 显式游标:显式声明游标,且由代码管理游标生命周期 隐式游标:非显式声明游标,由系统管理游标生命周期.44游标与数据游标与数据- -属性动作属性动作属性清单操作动作.45游标与数据游标与数据- -声明游标声明游标语法示例 声明游标指向所有部门 声明游标指向所有参数指定部门的员工.46游标与数据游标与数据- -使用游标使用游标单重循
15、环LOOP.END LOOPWHILE.LOOP.END LOOPFOR.LOOP.END LOOP.47游标与数据游标与数据- -使用游标使用游标- -LOOP.END LOOP关键代码块.48游标与数据游标与数据- -使用游标使用游标- -LOOP.END LOOP示例.49游标与数据游标与数据- -使用游标使用游标- -LOOP.END LOOP示例.50游标与数据游标与数据- -使用游标使用游标- -WHILE.LOOP.END LOOP关键代码块.51游标与数据游标与数据- -使用游标使用游标- -WHILE.LOOP.END LOOP示例.52游标与数据游标与数据- -使用游标使用
16、游标- -WHILE.LOOP.END LOOP示例.53游标与数据游标与数据- -使用游标使用游标-FOR-FOR.LOOP.END LOOP关键代码块.54游标与数据游标与数据- -使用游标使用游标- -FOR.LOOP.END LOOP示例.55游标与数据游标与数据- -使用游标使用游标- -FOR.LOOP.END LOOP示例.56游标与数据游标与数据- -使用游标使用游标- -FOR.LOOP.END LOOP示例.57游标与数据游标与数据- -使用游标使用游标- -FOR.LOOP.END LOOP示例.58游标与数据游标与数据- -使用游标使用游标多重循环FOR.LOOP.EN
17、D LOOP.59游标与数据游标与数据- -使用游标使用游标- -FOR.LOOP.END LOOP示例.60游标与数据游标与数据- -隐式游标隐式游标SELECT INTOSELECT INTO背景从数据库中获取数据到变量时,如果相关SQL只返回低于1条记录,使用显式游标过于麻烦,Oracle提供SELECT INTO快速实现改功能。所有DML语句执行时创建一个隐式游标,所以SELECT INTO也是游标,不过其创建和打开、关闭全部由ORACLE自动完成语法.61游标与数据游标与数据- -隐式游标隐式游标SELECT INTOSELECT INTO示例.62游标与数据游标与数据- -隐式游标
18、隐式游标SELECT INTOSELECT INTO序列取序列值,序列是一种数据库对象,就像一个自增长的计数器可以创建时指定初始值和最大值,以及增长步长(均匀增量)序列有currentVal和nextVal属性分别是序列当前值和序列下一值可通过s_seq_name.currentVal和s_seq_name.nextVal获取值每次调用nextVal,序列就会自动按设定步长增长语法.63游标与数据游标与数据- -隐式游标隐式游标SELECT INTOSELECT INTO示例.64游标与数据游标与数据- -隐式游标隐式游标SELECT INTOSELECT INTO示例.65游标与数据游标与数
19、据- -隐式游标隐式游标SELECT INTOSELECT INTO示例.66目录目录u 课程介绍u 基础知识u 循环执行u 条件转移u 游标与数据u 寄存对象u 内置函数u 异常处理.67异常处理异常处理什么是异常预定义异常自定义异常处理异常关键字OTHERS编译指令EXCEPTION_INIT.68异常处理异常处理- -什么是异常什么是异常概述 PL/SQL运行时有可能会发生错误或警告,如除数为零,没有找到数据,DML操作违反数据库对象约束等,这种运行时错误就称为异常,异常是一种错误形态 ORACLE将所有已知底层错误用一系列错误代码标记,并对应相应错误信息描述 ORACLE将部分已知底层
20、SQL或者硬件错误,封装成异常,并提供异常处理机制处理异常 对于业务逻辑上的错误,需要用户自定义异常来描述和控制 异常机制实现程序主逻辑和错误处理逻辑分离,使程序可读性和健壮性得到进一步提高分类 预定义异常:由Oracle数据库自带,在使用时不用先声明 自定义异常:由开发人员自定义,在使用前需要先声明.69异常处理异常处理- -预定义异常预定义异常清单.70异常处理异常处理- -自定义异常自定义异常概述将业务逻辑错误封装成异常,这种异常就是自定义异常自定义异常在使用前必须先声明,可在PL/SQL代码块声明部分和包中声明自定义异常异常不是变量,声明不能赋值异常作用域和变量一直,在一个块和其子块可
展开阅读全文