过程函数程序包_第1页
过程函数程序包_第2页
过程函数程序包_第3页
过程函数程序包_第4页
过程函数程序包_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、第1、8章过程、函数、包,到目前为止制作的PL/SQL计程仪程序是匿名的。 这些个的匿名plump brum摇滾乐没有被存储,并且在每次执行时不能被重用。 因此,每次执行匿名plumb计程仪摇滾乐时,必须先进行编译,然后再执行。 在许多情况下,必须存储pl/SQL plup计程仪馆摇滾乐,以便以后重复使用。 也就是说,plum brum摇滾乐需要一个名称,以便在调用或引用时找到特定的plum计程仪brum摇滾乐。 创建并命名的plum brum摇滾乐称为“命名plum用户针织面料”或“子程序”。 根据存储查询密码的位置、查询密码执行的塔斯克类型以及调用方法,命名的pl/SQL plum计程仪u

2、i针织面料分为三类:存储过程、函数和软件包。 2、本章学习目的: Oracle匿名计程仪程序创建摇滾乐Oracle存储过程调用存储过程理解存储过程各种形式的残奥仪表更改添加存储过程创建本地变量和子过程Oracle函数调用Oracle函数创建软件包发布解析包的重装过程和函数理解过程由于针织面料存储过程是编译过的查询密码,所以在调用时不需要再次编译,提高了计程仪程序的执行效率。 此外,还可以使用存储过程对堆计程仪程序进行模块化修改。 的双曲馀弦值。 过程的基本操作包括创建、查看、修改、调用和删除。 1 .创建流程创建或替换流程(、 is|aslocaldeclarationbeginexecuta

3、blestatementsexceptionexceptionhandlerendproceedure直接写入过程名称(以匿名封摇滾乐调用) Execute过程名称3 .修改过程可以在企业号管理器中修改,可以使用带有or replace选项的重新建构命令修改,4 .创建6 .残奥仪表存储过程时考虑显示过程,该过程可以在企业号管理器中引用user_source数据字典用“残奥仪表”可以灵活地针织面料普计程仪拉姆。 残奥仪表是在计程仪程序针织面料中投入产出数据的机制。 存储过程可以接收并返回零个或多个残奥仪表。 Oracle有三种残奥参数模式: 残奥仪表模式in in指示当过程被调用时,实际残奥仪

4、表的可能值被传递给该过程,被认为是只读的,并且当过程终止时,它返回到控制环境,并且还是实际残奥仪表的残奥仪表的去奥尔特模式在P202的示例中,有三种方法可以在调用存储过程时传递残奥仪表。 1 .名称表示:在将残奥仪表值传递给每个残奥仪表时,指定输入值的残奥仪表名称。 procedure (形状残奥仪表名称=实际残奥仪表值,形状残奥仪表名称=实际残奥仪表值)如果使用此方法传递残奥仪表值,则不需要考虑创建时定义的残奥仪表顺序,因为每个残奥仪表都指定要检索的值。 2 .位置表示:用户指定的残奥仪表值必须与过程中定义的残奥仪表顺序相对应。 3 .混合表示法:位置表示法和名称表示法各有自己的优缺点,可以

5、采用混合表示法来弥补两者的缺点。 如果使用者使用名称表示法,则后续的残奥仪表必须使用名称表示法。 另外,残奥仪表模式out out在过程调用时忽略实际的残奥仪表的可能值,在过程内部,只替换形式残奥仪表而不能读取数据,在过程结束后,把形式残奥仪表的内容提供给实际的残奥仪表P203的例子, 在P204的示例中,残奥仪表模式inout是in和out的组合,在过程内部传递实际的残奥仪表值,差动奥尔特值过程的残奥仪表也可以像表中的列那样具有差动奥尔特值。这样,如果在调用过程时没有将值传递给残奥仪表,则残奥仪表将使用定义的差动奥尔特值。 P205示例注意: out和in out残奥仪表没有差动奥尔特值。

6、7 .与局部变量和子程序匿名PL/SQL计程仪拉姆布摇滾乐一样,过程也可以定义局部变量。 过程中定义的变量描述在is或as之后,而不是declare牛鼻子字。 过程中定义的局部变量可以在过程中的任何位置使用。 局部变量的定义部分不仅可以定义变量,还可以定义查询密码类型、游标等其他过程。 练习:对emp表指定部门(在差动奥尔特中为10号部门)的工资薪金进行修订,创建对员工人数进行修订的流程。 调用此过程可查看30和10个部门的工资薪金的修订和人数。16、8.2函数和函数与过程非常相似,它们也是存储在数据库中的命名堆计程仪布拉姆摇滾乐,可以接收输入值,执行逻辑处理,然后将处理结果返回给调用方。 函

7、数和过程的主要区别在于函数需要返还值,可以作为表达式的一部分使用,而不能作为完整的语句使用。 的双曲馀弦值。 函数的基本操作包括创建、查看、修改、调用和删除。 1 .函数创建或替换函数(、 )创建return is|aslocaldeclarationbeginexecutablestatementsexceptionexceptionhandlerend从以上语法结构可以看出,定义存储过程和函数的主要区别在于在函数中,用户可以在任何地方使用return表达式语句返回值。 该返还值的数据类型必须在函数头中声明。 在P207示例中,2 .调用函数不能像调用过程那样作为独立语句调用。 函数具有返还

8、值,必须作为表达式的一部分调用。 3 .修改函数可以在企业号经管人中使用带有or replace选项的重新建构命令进行修改。 4 .在显示企业号经管人下显示函数使用user_source数据字典5 .删除函数可以在企业号经管人下删除drop function过程名在21、8.3、PL/SQL计程仪程序中,DBMS _在程序的查询密码上输出执行结果实际上,这将调用包DBMS_OUTPUT的PUT_LINE方法。 DBMS_OUTPUT包的主要功能是负责在PL/SQL计程仪栏中进行投入产出。 什么是包装? 包是PL/SQL计程仪编程元素的定径套组合,如相关过程、函数、变量、常量和光标。 的双曲馀弦

9、值。 一个包通常由两部分组成:规范和主体。 规范用于声明包中的数据类型、变量、常量、游标、异常处理、过程和函数等元素。 本代理是规范部分声明的过程、函数的具体实现以及所有私有数据。 1 .规格、包装规格是包装的接口。 也就是说,规范中定义的所有内容都可供调用者使用。 规范中定义的过程可以在调用方调用中执行,变量可以引用。 这些个构成了软件包的公共接口。 对于plumun计程仪针织面料,规范类似于说明书,指示可以使用包中的哪些过程或函数,以及如何使用这些过程或函数。 要创建包,必须首先创建包规范。 建立套装程式规格语法:建立公用程式_名称_变更_定位|公用程式_类型_公用程式_ cursor _

10、 declic procedure _ specificationsendpackage _ namep 209的示例进程和函数主体被排除。 由于规范仅显示包中包含的内容,因此具体实现将包含在包的主体部分中。 执行包中的过程类似于执行斯坦共和国定门独立过程2 .包主体,包含规范中声明的过程和函数的查询密码。 封装主体的名称必须与规格和连接主体的规格的名称相同。 此外,包主体过程和函数的标头查询密码必须与规范中声明的过程或函数完全匹配。 创建程序包主体的语法如下: createorreplacepackagebodypackage _ name as|is private _ variable

11、_ declarations|private _ type private _ ex private _ cursor _ declarations|function _ declarations |程序创建程序包ackagep _ empasversionvarchar2(11 ) :=验证author varchar2(15 ) :=BUAA SEM 108 xk 处理程序资讯(v _ deptno EMP.deptno %类型)。 功能二进制日期(v _ empno EMP.empno %类型)返回二进制整数。 终点p _ EMP; 创建目标文件包文件夹_ empasproceduree

12、mp _ info (v _ deptno EMP.deptno % type ) ascursorc _。 v _ EMP c _ EMP %运行类型。 贝格开放c _ EMP; 循环效应c _ EMP进入v _ EMP。 出现在c _ EMP %非基金。 数据库管理系统(v _ EMP.empno|v _ m.ename|v _ EMP.)结束环; 克洛斯c _ EMP; 结束; 功能二进制日期(v _ empno EMP.empno % type )返回二进制数据校验2 (5)。 日期变化2 (5); 暂停日期; 林二进制整数; beginselecthiredateintotempfr

13、omempwhereempno=v _ empno。 EMP _ date :=辅助卡(临时、YYYY-MM-DD )、6、5 )。 sys _ date :=辅助卡(系统日期、YYYY-MM-DD )、6、5 )。 五轮回复- 1轮回复- 1轮回复- 1轮回复- 1轮回复- 1轮回复- 1。 终点if; 结束环; 返回1; 结束日期; 终点p _ EMP; /、3 .私人成员、包内的项目也分为公共异丙苯栏和私人成员两种。 专用成员只能网站数据库包中的函数和过程,而共享成员不仅可以网站数据库包中的函数和过程,还可以包外的pl/SQL plup计程仪列。 的双曲馀弦值。 专用过程和函数专用过程和

14、函数的作用是为包中的共享过程和函数提供服务。专用过程和函数的方法仅在包主体中定义,而不是在plume计程仪规范中声明。 的双曲馀弦值。 计程仪程序变量可在程序包规范和程序计程仪程序包主体内定义变量。 规范中定义的变量可以像规范中的过程或函数一样引用,称为公共变量。 在计程仪程序包主体中定义的变量只能从程序包中的过程中网站数据库,称为专用变量。 4 .斯坦共和国化。 包也可以包含特殊的查询密码。 此查询密码仅在用户第一次调用包时行政许可一次。 这个查询密码叫做斯坦共和国化查询密码。 斯坦共和国化查询密码只能调用一次,在字段中执行。 斯坦共和国化查询密码是软件包主体的匿名plumb摇滾乐,可以包含

15、任何有效的PL/SQL命令。 5 .重装、包重装是指在一个包中多个普计程仪唯针织面料使用相同的名称。 各个过程和函数必须具有唯一的名称,但包中的过程和函数可以使用不同的名称。 如果有能够区分各个过程和函数的特性,则为一盏茶。 也就是说,过程和函数可以具有相同的名称,但是具有相同名称的过程和函数具有不同的残奥、顺序和残奥元类型。 6 .管理程序包和执行权限,以及授予用户对过程和函数或程序包的执行权限。 这样,在默认奥尔特下,此用户可以在执行包时使用包所有者的权限。 包所有者具有执行此查询密码所需的全部权限。 也就是说,当用户调用包时,用户将拥有类似于包所有者的权限。 请注意,此类权限仅在用户运行包时才具有。 时,可能不会发生此类差动奥尔特的权限行为。 可以使用authid current_use

温馨提示

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

评论

0/150

提交评论