数据库资料OrPlsqlTps.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库资料OrPlsqlTps

wnt 2000(C) copyright 应用于Web的面向对象关系型数据库管理系统:Oracle REF 游标、过程和函数 本章目标 游标类型和变量 子程序简介 子程序的优点 存储程序 函数 RETURN 语句 过程和函数的参数模式 查看存储子程序的错误 存储子程序的优点 游标类型和变量 PL/SQL 程序不能将游标作为参数传递到另一个程序 PL/SQL 程序仅能打开游标并处理程序自身内的相应信息 要解决功能限制,用程序可以声明两个不同的游标类型及相应的游标变量 游标类型和变量(续) 根据游标的不同声明方式,游标可以是 强型 弱型 游标类型和变量(续) 强型游标 游标类型的声明包括为游标类型指定了形态或属性的 RETURN 子句 强型游标类型限制随后使用该类型的游标变量的定义 示例 TYPE emp_cur IS REF CURSOR RETURN emp.empno%TYPE; emp_cursor1 cur_emp; 游标类型和变量(续) 弱型游标 程序可以使用弱型游标类型声明任何形态的游标变量 因为没有返回值,所以游标变量的形态是独立的 这增加了游标变量的灵活性,有利于进一步的更改 示例 TYPE emp_cur IS REF CURSOR; 子程序 子程序退出时,声明部分的对象是本地的并且终止其存在 可以使用支持 PL/SQL 的任何 Oracle 工具进行定义 它们可以在 PL/SQL 程序块、过程、函数和数据包中声明 子程序的优点 具有可扩展性 可以自定义 PL/SQL 语言以满足应用程序的需要 提高可复用性和可维护性 子程序只要有效,就完全可以用于任何数目的应用程序中 简化了维护/优化过程,因为如果定义更改只有子程序受到影响 子程序的优点(续) 具有模块化特性 可以将程序拆分为可管理的、明确定义的逻辑块 支持自顶向下的设计和逐步细化的解决问题的方法 抽象内容帮助 允许与细节在精神上分离 这种截取方式允许程序员在主程序的测试并调试完成后再进行过程/函数的定义 存储过程 执行特定操作的子程序 存储于数据库中并可由任意匿名块调用 能够接受参数 在参数声明中的数据类型区分符应为无限制的 存储过程(续) 具有两个部分 说明 以关键字 PROCEDURE 开始,以过程名或参数列表结束 主体 以关键字 IS 开始,以关键字 END 结束,后面可以跟可选过程名称 存储过程(续) CREATE [OR REPLACE] PROCEDURE 过程名 [(参数1, … 参数N) ] IS [局部声明] BEGIN 可执行语句; EXCEPTION [例外处理程序]; END [过程名]; 参数代表 变量名 [IN|OUT|IN OUT] 数据类型 [{:= | DEFAULT} 值] 存储过程(续) 示例 CREATE PROCEDURE branch_sum(p_brnch branch.branch_code%TYPE) IS declare variables; BEGIN 可执行语句; EXCEPTION WHEN NO_DATA_FOUND THEN 语句 ; END branch_sum; 存储过程(续) 创建过程时, Oracle 自动执行下列步骤 编译过程 存储所编译的代码 在数据库中存储过程 PL/SQL 编译程序用于编译代码 如果发生错误,也可创建过程,但是无效 存储过程(续) 可以使用 SHOW ERRORS 命令或下列命令查看编译错误 SELECT * FROM USER_ERRORS; Oracle 将编译过程装入 SGA 中 其他用户也可以执行存储在 SGA 中的相同过程 存储过程(续) Oracle 分三个步骤执行过程 验证用户访问 如果为非法用户,则拒绝访问 验证过程有效性 如果为非法过程,则不执行 执行过程 可以通过下列方式检查过程的有效性 SELECT OBJECT_NAME, OBJECT_TYPE, STATUS FROM USER_OBJECTS WHERE OBJECT_TYPE = ‘PROCEDURE’; 存储过程的优点 增强了数据安全性 可以授权用户访问能执行表的存储过程,但不授权他们访问表自身 提高了数据库性能 通过网络发送的信息有所减少 编译不需要执行代码 过程存在于共享池中,所以不需要进行磁盘检索 存储过程的优点(续) 节省内存 只需要在内存中装入过程的一个拷贝便可供多个用户执行 提高了开发的工作效率 通过编写单一的过程可以避免冗余程序代码,并且提高了生产效率 完整性 只需要测试一次,以保证它能够返回正确的结果 调用存储过程 可以作为 PL/SQL 语句调用过程

文档评论(0)

jixujianchi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档