《[精选]Oracle10G培训教程6》由会员分享,可在线阅读,更多相关《[精选]Oracle10G培训教程6(30页珍藏版)》请在金锄头文库上搜索。
1、PL/SQL 简介,第六章,回顾,第五章 - Oracle 中的 OOP 概念,面向对象的功能 封装、多态和继承 Oracle 支持各种各样的对象 抽象数据类型是包含一种或多种子类型的数据类型 可变数组允许在单个行中存储某个记录的重复属性 嵌套表是表中的表。表在另一个表中被表示为行 嵌套表对条目数没有限制 对象视图允许在仅使用关系表的应用程序中实现面向对象的概念 行对象不是嵌入对象,2,目标,PL/SQL 简介 数据类型及其用法 逻辑比较 控制结构 错误处理简介,3,PL/SQL 简介,PL/SQL 代表 Procedural Language/SQL(Procedural Language:
2、过程语言) 它是对 SQL 的扩展 PL/SQL 中存在过程构造和数据库访问 在 Oracle 服务器和客户机应用程序中使用 支持大型对象和集合,4,PL/SQL 的优点,支持对象类型和集合 调用外部函数和过程 支持 SQL 支持 OOP 更高生产率 更佳性能 可移植性 与 Oracle 集成在一起 严密的安全性,5,PL/SQL 的体系结构2 - 1,6,PL/SQL 的体系结构2 - 2,PL/SQL 引擎是主要组件,它驻留在 Oracle 服务器中 PL/SQL 引擎 处理 PL/SQL 块并将其分离为 SQL 语句及过程语句 将过程语句发送到过程语句执行器以进行处理 将 SQL 语句发
3、送到 SQL 语句执行器以进行处理,7,PL/SQL 块,它包括一组语句 PL/SQL 程序中的基本单元 将相关的声明和语句进行逻辑分组 声明对于块是局部的 在块完成之后,将超出范围,8,PL/SQL 的结构,PL/SQL 的各个组成部分 声明部分 可执行部分 异常处理部分 PL/SQL 块的结构 DECLARE declarations BEGIN executable statements EXCEPTION handlers END; 其中,declarations 是声明,executable statements 是可执行语句,handlers 是处理程序。,9,变量,数据的临时存储
4、 在声明部分中声明 可以在 SQL 语句和过程语句中使用 在可执行部分中赋予新值 使用变量的优点 可重用性 易于维护,10,数据类型8 - 1,内置数据类型 标量 复合 引用 LOB,11,数据类型8 - 2,标量 容纳单个值 没有内部组成 分为四个类别: NUMBER CHARACTER DATE BOOLEAN,12,数据类型8 - 3,Number 类型 用于存储和操纵数字数据 Number 类型是: BINARY_INTEGER NUMBER 子类型是 DEC、DECIMAL、DOUBLE PRECISION、FLOAT、INTEGER、INT、NUMERIC、REAL、SMALLIN
5、T PLS_INTEGER,13,数据类型 8- 4,Character 类型 CHAR VARCHAR2 RAW LONG 和 LONG RAW ROWID 和 UROWID 区域字符类型 NCHAR NVARCHAR2,14,数据类型8 - 5,Datetime 和 Interval 类型 DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND,15,数据类型8 - 6,BOOLEAN 类型 用于存储逻辑值(TRU
6、E、FALSE 和 NULL) 不接受任何参数 不能向数据库中插入 BOOLEAN 数据 不能将列值提取或选择到 BOOLEAN 变量中 只允许对 BOOLEAN 变量执行逻辑操作,16,数据类型 8- 7,组合类型 RECORD VARRAY NESTED TABLE LOB 类型 BLOB CLOB NCLOB BFILE,引用类型 REF CURSOR REF操作符,17,数据类型 8- 8,属性 引用数据库中的数据类型和对象 PL/SQL 变量和常量可以具有属性 属性的类型 %type引用数据库列 %rowtype代表表中的行,18,逻辑比较 4- 1,PL/SQL 支持 SQL 和
7、PL/SQL 中变量和常量的比较(称为“布尔表达式”) 布尔表达式的类型有: 数值型 字符型 日期型,19,逻辑比较4 - 2,数值型布尔表达式 比较数值 下表说明这一点:,20,逻辑比较4 - 3,字符型布尔表达式 比较用引号括起来的序列或单个字符 下表说明这一点:,21,逻辑比较 4- 4,日期型布尔表达式 比较两个日期 下表说明这一点:,22,控制结构2 - 1,控制流语句 条件控制 迭代控制 顺序控制 条件控制 基于条件执行语句 类型:if then、if then else、if then elsif 和 CASE 语句,23,控制结构 2- 2,迭代控制 简单循环 WHILE 循环
8、 FOR 循环 顺序控制 GOTO 语句 NULL 语句,24,错误处理 2- 1,PL/SQL 中的错误条件称为异常 有两种类型的异常: 预定义的 用户定义的 当在 PL/SQL 程序中出现错误时,将引发异常 在出现错误时,正常执行将停止,控制权转移到异常处理部分,25,错误处理2 - 2,预定义的异常 PL/SQL 程序违反 Oracle 规则时,将隐式引发它 用户定义的异常 由 raise 语句显式引发 只能在 PL/SQL 块的声明部分中声明,26,总结 3- 1,PL/SQL 代表 procedural language/SQL(procedural language:过程语言) P
9、L/SQL 是一种块结构的语言 将 SQL 的数据操纵功能与过程语言的数据处理功能结合在一起 允许我们使用所有 SQL DML、TCL、SQL 函数和运算符 PL/SQL 引擎执行 PL/SQL 块 PL/SQL 支持所有 SQL 数据类型和 ANSI 标准类型,27,总结 3- 2,PL/SQL 块的三个组成部分是:声明部分、可执行部分和异常处理部分 变量和常量是在声明部分中声明的 LOB 类型用于存储大型对象 属性用于引用数据库中的数据类型和对象 支持对变量和常量进行比较 布尔表达式的三种类型是 - 数值型、字符型和日期型,28,总结 3- 3,控制结构的三种类型是 - 条件控制、迭代控制、顺序控制 IF 语句的三种形式是 - IF THEN、IF THEN ELSE、IF THEN ELSIF LOOP 可用于多次执行语句 GOTO 语句用于无条件地转移到一个标签位置 PL/SQL 中的错误条件称为异常,29,演讲完毕,谢谢观看!,