ORACLE的PL/SQL一

发布时间:2006-06-28 09:42     点击:
分页:上一页  1 2 3 4 [5] 6 7  下一页

  函数调用可以是表达式的成分。

  例 2.51:

  IF SAL_OK(NEW_SAL,NEW_TITLE)THEN

  ...

  END IF;

  ...

  PROMOTABLE:=SAL_OK(NEW_SAL,NEW_TITLE)AND(RATING>3);

  注意:调用用户定义的函数可在过程性语句中使用,便不能在SQL语句中使用。

  在函数中使用RETURN语句,该语句的作用是:立即完成子程序的执行并将控制返回给调用者。然后从调用者程序中紧接调用该子程序处执行。一个子程序可包含多个RETURN子句。对于过程,RETURN语句不能包含表达式;对于函数,RETURN语句必须包含一个表达式,该表达式是一个任意复杂表达式,在RETURN语句执行时计算,该值赋给函数标识符。

  3. 包 (package)

  (1)包的意义

  PL/SQL为了满足程序模块化的需要,除了块(block)和子程序结构外,还引入了包的构造。

  包是一种数据库对象,将逻辑上相关的PL/SQL类型、对象和子程序组合成一个更大的单位。包有两个部分:包说明(specification)和包体(body)。说明部分是为应用程序的接口,它申明类型、常量、例外、游标和可用的子程序。体定义游标和子程序,实现说明。应用程序仅对包说明中的申明是可见的和可存取。如果ORACLE具有Procedure选件,包可以编译、存贮在ORACLE数据库中,其内容可为许多应用共享。当用户第一次调用一包装的子程序时,整个包装入到内存,所以在以后对包中子程序调用时,不再需要I/O操作,故包可提高效率和改进性能。

  PL/SQL的包具有信息隐蔽性(information hiding),仅在算法和数据结构设计有关层可见。在前面讲到的过程中,可将过程说明和过程体组成一个程序单位。也可将过程说明与它的过程体分开,在这种情况下,将过程放置在一个包中,可隐蔽实现的细节。也可在包中定义过程,而该过程在包说明中没有定义过程说明,这样定义的过程仅在包内使用。

  (2)包的定义

  包的定义形式如下:

  包说明:

  PACKAGE 包名 IS

  --变量说明;

  --游标说明;

  --例外说明;

  --记录说明;

  --Plsql表说明;

  --过程说明;

  --函数说明;
分页:上一页  1 2 3 4 [5] 6 7  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有