Oracle-10-第十章.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 pl/sql程序设计 本章目标 掌握对存储过程(procedure)、函数(function)、包(package)、触发器(trigger)、异常(exception)等对象的设计与操作。 1.1过程设计 存储过程的概述: 存储过程是SQL语句的预编译集合,它存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的功能。使用存储过程可以使程序模块化,可以在服务器端更快的执行,可以减少网络流量,还可以增强安全性。 优点 存储过程提供一种安全机制:如果用户被授予执行存储过程的权限,那么即使该用户没有访问存储过程所参考的表或者视图的权限,也可以执行该存储过程,而不会受到影响。因此,可以创建存储过程来完成所有的增加、删除等操作,并且可以通过编程方式控制上述操作中对信息的访问。 减少网络传输时间:这是使用存储过程的一条非常重要的原因。如果有一千条SQL语句,一条一条地通过网络在客户机和服务器之间传送,那么这种传输所耗费的时间非常长,即使是世界上最有耐心的人也无法忍受。但是,如果把这一千条SQL语句的命令写成一条较为复杂的存储过程命令,在客户机和服务器之间进行网络传输所需的时间就会大大减少。 存储过程结构 create or replace procedure 过程名 as /*声明部分*/ begin /*执行部分*/ exception /*异常处理部分*/ end [过程名]; 创建存储过程 格式: create or replace procedure 过程名 [(参数1 in|out|in out 类型, 参数2 in|out|in out 类型, …..………… 参数n in|out|in out 类型)] {is|as} 过程体; 说明 replace:表示如果该过程存在则编译此过程,然后替换原过程。编写不带参数的过程无需圆括号。 is|as:功能一样,取其中一个即可。 检查错误: 格式: show errors [procedure|function|package] 名称; 查询过程 使用的数据字典:user_source 调用过程 调用方法: -- 用关键字execute在sql*plus中调用过程: execute 过程名[实参表列]; -- 作为pl/sql语句调用过程—使用程序块: begin 过程名[实参表列]; end; 过程的修改和删除 修改过程: 格式:alter procedure 存储过程名 compile; 删除过程: 格式:drop procedure 存储过程名; 1.2函数程序设计 函数:带名的pl/sql程序块,也是oracle数据库中的一个对象,有返回值。 结构:函数是由声明部分、执行部分、异常处理部分。 创建函数 格式: create or replace function 函数名 [(参数1 in|out|in out 类型, 参数2 in|out|in out 类型, ………………… 参数n in|out|in out 类型)] return 返回类型 is|as 函数体; 操作函数 使用数据字典:user_source、user_objects 调用方式:使用pl/sql调用。 函数的修改与删除 修改函数:将创建函数的pl/sql程序块调入内存修改其程序,再运行就用新的函数代替原函数。 删除函数:把不再起作用的函数从oracle数据库中删除掉,以释放空间。 格式:drop function 函数名; 1.3异常处理 定义:由于程序编写不完善,在程序运行过程中出现的错误。 分类: -- 系统预定义异常 -- 用户自定义异常 系统预定义异常 用户自定义异常 当用户编写程序时,如果知道在某些位置上可能会发生某种错误,而这种错误又没有包含在系统预定义的异常类型中,那么用户对此可以自行定义一个异常。一旦声明了它,在程序异常处理部分就可以捕获它,并进行相应处理,这样使得程序更加健壮。 操作异常步骤 声明异常 触发异常 处理异常 声明异常 异常性质:也是一个类型,其关键字为exception。 声明异常格式:自定义异常名 exception;

文档评论(0)

82393aa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档