Oracle数据库开发实用教程 刘竹林 教学课件 第7章.pdfVIP

Oracle数据库开发实用教程 刘竹林 教学课件 第7章.pdf

  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文档。上传文档
查看更多
第7章 PL/SQL包与触发器 学习要点 创建包 调用和执行包组件 建立DML触发器 建立INSTEAD OF 触发器 本章主要内容 创建包 调用和执行包组件 触发器介绍 建立DML触发器 建立INSTEAD OF 触发器 触发器的维护 7.1 创建包  包是由存储在一起的相关对象组成的PL/SQL存储 程序。它可以把相关的过程、函数组织在一起, 这样便于管理,提高了代码性能。  包由两个分离的部件组成:包头和包体。包头也 叫包说明或包规范,它包括函数头、过程头、和 外部可视数据结构。  在创建包时,一般先建立包头,再建立包体。 7.1.1 包头 包头用于定义包的公用组件,如:常量、类型、变量、游标、过程和函数等。 创建包必须首先创建包规范,创建包规范的语法如下: CREATE [OR REPLACE] PACKAGE package_name {AS|IS} public_variable_declarations | public_type_declarations | public_exception_declarations | function_declarations | procedure_specifications END [package_name] 其中: package_name:包名。 public_variable_declarations:公共变量声明。 public_type_declarations:公共类型声明 public_exception_declarations:公共异常声明。 function_declarations :函数声明。 procedure_specifications:过程声明。  7.1.2 包体  包体用于实现包头所定义的过程和函数。  关于包的基本规则如下:  (1)在包头声明过的是外部可以调用的过程、函数、变量。在 包头中定义的所有的常量、变量、过程和函数等都是公有的; 就是说在包头内定义的公有组件(常量、变量、过程和函数) 既可以在包内使用也可以在包外部调用。  (2 )在包体内也可以定义过程、函数、变量,但这些定义只能 在包体内可见。在包体内的各个过程和函数本身定义的处理和 变量都是私有的。就是说在包体中定义的私有组件(常量、变 量、过程和函数)都只能在包内使用,不能由其他子程序调用。  (3 )在包中声明的时候,必须是前向声明的,也就是对象需要 引用的另一个对象必须在前面首先声明。  (4 )包头是必须存在的,包体是可选的。  (5 )包头必须在包体前创建,否则创建不了包体。  (6 )只在包头中包括公用变量、过程、函数的声明  创建包体使用CREATE PACKAGE BODY语句:  CREATE [OR REPLACE] PACKAGE BODY package_name  {AS|IS}  private_variable_declarations |  private_type_declarations |  private_exception_declarations |  private_cursor_declarations |  function_declarations |  procedure_specifications  END [package_name]  7.2 调用和执行包组件  调用方法分为包内调用和包外调用。  1.包内调用  【例】在过程addemp 中对validate过程进行包内调用。  CREATE OR REPLACE PACKAGE BODY mypackage  IS  PROCEDURE addemp(eno NUMBER,name VARCHAR2,sal NUMBER, dno NUMBER)  IS  BEGIN  IF validate (dno) THEN  INSERT I

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档