《Oracle 10g入门与提高》第6章:PL、SQL程序设计.ppt_第1页
《Oracle 10g入门与提高》第6章:PL、SQL程序设计.ppt_第2页
《Oracle 10g入门与提高》第6章:PL、SQL程序设计.ppt_第3页
《Oracle 10g入门与提高》第6章:PL、SQL程序设计.ppt_第4页
《Oracle 10g入门与提高》第6章:PL、SQL程序设计.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章PL SQL程序设计 学习重点 PL SQL的控制结构PL SQL记录和表过程与函数异常处理 本章逻辑结构 6 1PL SQL基础6 1 1变量及声明6 1 2数据类型6 1 3表达式6 1 4PL SQL程序块结构6 1 5PL SQL程序的运行环境6 2PL SQL的控制结构6 2 1顺序结构6 2 2选择结构6 2 3NULL结构6 2 4循环结构6 3PL SQL记录和表6 3 1使用 TYPE6 3 2记录类型 本章逻辑结构 6 3 3使用 ROWTYPE6 3 4表6 4游标6 4 1游标的基本操作6 4 2游标的属性操作6 4 3参数化游标和隐式游标6 4 4游标变量6 5过程与函数6 5 1过程创建和调用6 5 2过程参数设置与传递6 5 3函数的创建 查询和调用6 5 4删除过程和函数6 5 5子程序的位置 本章逻辑结构 6 5 6子程序的依赖性与执行权限6 6触发器6 6 1触发器的类型6 6 2建立触发器6 7异常处理6 7 1概念6 7 2声明和处理异常6 7 3处理异常的特殊方法6 8本章小结6 9习题 6 1PL SQL基础 ANSI标准SQL的Oracle版本的过程化语言的扩展PL SQL语言的特点 6 1 1变量及声明 选择变量名称的规则变量必须以字母 A Z 开头其后跟可选的一个或多个字母 数字 0 9 或特殊字符 或 变量长度不超过30个字符变量名中不能有空格 6 1 2数据类型 声明变量或常量的通用语法变量名 CONSTANT 数据类型 NOTNULL DEFAULT PL SQL的数据类型与相关的子类型 PL SQL的数据类型与相关的子类型 PL SQL的数据类型与相关的子类型 6 1 3表达式 PL SQL表达式中常用的符号 PL SQL表达式中常用的符号 6 1 4PL SQL程序块结构 未命名的PL SQL包括DECLARE 块声明部分 BEGIN 块体的可执行部分 EXCEPTION 异常处理部分 6 1 5PL SQL程序的运行环境 PL SQL程序由PL SQL引擎执行 PL SQL引擎是数据库服务器的一部分 图6 2PL SQL引擎在Oracle服务器中的位置 6 2PL SQL的控制结构 程序设计语言的核心检测不同条件并加以处理是程序控制的主要部分流向控制结构PL SQL程序控制程序流的主要结构顺序结构选择结构NULL结构循环结构 6 2 1顺序结构 按照语句出现的先后顺序执行 6 2 2选择结构 if逻辑结构3种if逻辑结构if thenif then elseif then elsif if逻辑规则 规则1 每个if语句都有自己的then 以if开始的语句行不跟语句结束符 规则2 每个if语句块以相应的endif结束规则3 每个if语句有且只有一个else 规则4 else语句行后面不跟语句结束符规则5 elsif无匹配的endif 6 2 3NULL结构 空操作或空值结构处理方法ifMarks 60thenNull elseINSERTINTOStudent CourseVALUES Pass StudentNo CourseNo endif 6 2 4循环结构 3种循环形式 1 LOOP EXIT END循环2 WHILE LOOP END循环3 FOR IN LOOP END循环 1 LOOP EXIT END循环 语法如下loop执行语句1 执行语句2 endloop 2 WHILE LOOP END循环 语法while布尔表达式loop执行语句1 执行语句2 endloop 3 FOR IN LOOP END循环 语法for计数循环变量in reverse 起始值 终止值loop执行语句1 执行语句2 endloop 6 3PL SQL记录和表 用户自定义的类型使用自定义类型去声明相应的程序变量用户自定义的类型 记录类型 6 3 1使用 TYPE 声明变量 常量 记录中的单个字段以及与数据库列 表属性或其他与程序结构相匹配的记录变量简化了程序结构的定义程序相对于数据库的修改更加灵活 6 3 2记录类型 用户自定义的数据类型声明记录类型的一般语法TYPE记录类型ISRECORD 字段1数据类型 NOTNULL DEFAULT 表达式 字段2 6 3 3使用 ROWTYPE 简单地声明记录变量和其他结构 TYPE属性与 ROWTYPE属性的区别 6 3 4表 声明PL SQL表的语法TYPEPL SQL表名ISTABLEOF数据类型 6 4游标 PL SQL用游标来管理SQL的SELECT语句 游标是为处理这些语句而分配的一大块内存 有时用户手工定义游标 游标定义类似于其他PL SQL变量 并且必须遵守同样的命名规则 6 4 1游标的基本操作 操作顺序 1 声明游标 使用查询来定义游标的列和行 2 打开游标 使用PL SQL命令OPEN来打开一个声明的游标 3 提取数据 从游标中重复提取每条记录到数据结构中 直到数据集合被提空 4 关闭游标 使用完游标之后将其关闭 6 4 2游标的属性操作 游标的属性 ISOPEN FOUND NOTFOUND ROWCOUNT 6 4 3参数化游标和隐式游标 两种特殊形式的游标参数化游标隐式游标 6 4 4游标变量 1 创建一个游标变量2 打开游标变量OPENFORSELECTOPENFOREXECUTEOPEN一个绑定的查询3 使用游标变量4 关闭游标变量 6 5过程与函数 PL SQL中的块的类型命名块匿名块区别 6 5 1过程创建和调用 定义创建CREATE ORREPLACE PROCEDURE过程名称 参数 IN OUT INOUT 类型 参数 IN OUT INOUT 类型 AUTHID CURRENT USER DESIGNER IS AS 过程体 调用 调用方式直接利用EXECUTE命令在PL SQL块中调用 6 5 2过程参数设置与传递 1 参数模式2 使用AUTHID选项创建存储过程3 在形参和实参之间传递值4 对形参的限制5 按引用和按值传递参数6 使用NOCOPY参数 6 5 3函数的创建 查询和调用 创建语法CREATE ORREPLACE FUNCTION函数名称 参数 IN OUT INOUT 数据类型 参数 IN OUT INOUT 数据类型 RETURN返回类型 AUTHID CURRENT USER DESIGNER IS AS 函数体 6 5 4删除过程和函数 删除过程的语法如下 DROPPROCEDURE过程名称 删除函数的语法是 DROPFUNCTION函数名称 6 5 5子程序的位置 1 存储子程序和数据字典2 本地子程序3 存储子程序与本地子程序的比较 6 5 6子程序的依赖性与执行权限 子程序的依赖性子程序的执行权限 6 6触发器 触发器 trigger 是一些过程 当发生一个特定的数据库事件时就执行这些过程触发器的适用情况维护在表创建阶段通过声明限制无法实现的复杂完整性限制通过记录修改内容和修改者来审计表中的信息在表内容发生变更时 自动通知其他程序采取相应的处理在订阅发布环境下 发布有关各种事件的信息 6 6 1触发器的类型 DML触发器替代触发器系统事件触发器DDL触发器 6 6 2建立触发器 创建触发器的通用语法 CREATE ORREPLACE TRIGGER触发器名称 BEFORE AFTER INSTEADOF 激发触发器事件referencing clause WHENtrigger condition FOREACHROW 触发器代码 建立触发器需要注意的问题 触发器主体不能超过32K 如果触发器长度超过了该限制 就要把该体内的某些代码放到单独编译的包或存储子程序中 并从触发器主体中调用这些代码 6 7异常处理 PL SQL处理错误情况的方法 在PL SQL代码部分执行的过程中无论何时发生错误 控制自动地转向执行异常部分进行异常处理 6 7 1概念 常见的有以下两种异常 Oracle预定义的异常用户自定义的异常 PL SQL中常见的预定义异常 PL SQL中常见的预定义异常 6 7 2声明和处理异常 1 处理预定义的异常语法 EXCEPTIONWHEN异常1 OR异常2 THEN WHEN异常3 OR异常4 THEN WHENOTHERSTHEN END 2 声明和处理用户自定义的异常 语法异常名称EXCEPTION 6 7 3处理异常的特殊方法 利用触发器生成一段阻止SQL语句发生异常的异常处理代码用 20000 20999之间的任何数值来代替error number 6 8本章小结 介绍了Oracle数据库系统的过程语言PL SQL详细介绍了PL SQL的基本概念PL SQL块分为匿名块和命名块两种介绍了异常处理的概念和方法 6 9习题 选择题 1 在PL SQL中 下列 变量名合法 A 3dffswaB AVariableC Rose 1D Ta a 2 在PL SQL中 数据类型CHAR字符串的最大长度为 A 32767B 2000C 4000D 2147483647 6 9习题 填空题 1 控制结构是所有程序设计语言的核心 PL SQL程序可以使用 和来控制程序流 2 PL SQL用来管理SQL的SELECT语句 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论