ORACLE过程、函数、包的区别和联系.docxVIP

  • 2
  • 0
  • 约2.67千字
  • 约 3页
  • 2017-05-18 发布于四川
  • 举报
ORACLE过程、函数、包的区别和联系

一、过程与函数区别1.过程可以有0~N个返回参数,通过OUT or IN OUT参数返回;函数有且仅有1个返回值,通过return语句返回。2.调用过程时,可做为单独的语句执行;调用函数时,函数必须把返回结果赋值给一个变量。3.在SQL语句中,可以不能调用过程;在SQL语句中,可以直接调用函数。?二、过程与函数过程[procedure]及函数[function]这两种方案对象均由 SQL 语句及 PL/SQL 语言构件组合而成,存储于数据库中,运行时作为一个整体,用于解决某个问题,或完成一组相关的操作。调用者可以在调用过程及函数时为其提供参数,参数可以专用于输入值,专用于输出值,或同时用于输入及输出值。在过程与函数中,用户既可以发挥 SQL 的灵活性与易用性,也能够发挥结构化编成语言的过程控制能力。过程与函数基本类似,唯一区别在于函数总会向调用者返回一个值,而过程无此特性。三、存储过程在以下方面具有优势:1.利用定义者权限过程[definers rights procedure]确保数据安全使用存储过程有助于确保数据安全。具备数据库对象访问权限的用户可以定义存储过程或函数,其他用户通过已定义的过程访问数据,从而达到限制用户对数据库操作的目的。例如,现有一个过程能够更新某数据表,管理员不必授予用户直接访问数据表的权限,而是授予用户访问此过程的权限。当用户调用此过程时,过程以其拥有者的

文档评论(0)

1亿VIP精品文档

相关文档