PL、SQL语言初级教程之过程和函数.pdf

PL、SQL语言初级教程之过程和函数.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PL、SQL语言初级教程之过程和函数

PL/SQL语言初级教程之过程和函数 过程和函数 过程和函数都以编译后的形式存放在数据库中 ,函数可以没有参数也可以有多个参数并 有一个返回值。过程有零个或多个参数,没有返回值。函数和过程都可以通过参数列表接收 或返回零个或多个值,函数和过程的主要区别不在于返回值 ,而在于他们的调用方式。过程 是作为一个独立执行语句调用的: pay_involume(invoice_nbr,30,due_date ); 函数以合法的表达式的方式调用: order_volumn:=open_orders (SYSDATE,30); 创建过程的语法如下: CREATE [ OR REPLACE] PROCEDURE [schema.]procedure_name [parameter_lister] {AS|IS} declaration_section BEGIN executable_section [EXCEPTION exception_section] END [procedure_name] 每个参数的语法如下: paramter_name mode datatype [(:=|DEFAULT) value] mode有三种形式:IN、OUT、INOUT。 IN表示在调用过程的时候,实际参数的取值被传递给该过程 ,形式参数被认为是只读的 , 当过程结束时,控制会返回控制环境,实际参数的值不会改变。 OUT在调用过程时实际参数的取值都将被忽略,在过程内部形式参数只能是被赋值,而 不能从中读取数据,在过程结束后形式参数的内容将被赋予实际参数。 INOUT这种模式是IN和OUT的组合;在过程内部实际参数的值会传递给形式参数 ,形势参 数的值可读也可写,过程结束后,形势参数的值将赋予实际参数。 创建函数的语法和过程的语法基本相同,唯一的区别在于函数有 RETUREN子句 CREATE [ OR REPLACE] FINCTION [schema.]function_name [parameter_list] RETURN returning_datatype {AS|IS} declaration_section BEGIN executable_section [EXCEPTION] exception_section END [procedure_name] 在执行部分函数必须有哟个或多个 return语句。 在创建函数中可以调用单行函数和组函数,例如: CREATE OR REPLACE FUNCTION my_sin(DegreesIn IN NUMBER) RETURN NUMBER IS pi NUMBER=ACOS(-1); RadiansPerDegree NUMBER; BEGIN RadiansPerDegree=pi/180; RETURN(SIN(DegreesIn*RadiansPerDegree )); END 包 包是一种将过程、函数和数据结构捆绑在一起的容器 ;包由两个部分组成:外部可视包 规范,包括函数头,过程头,和外部可视数据结构;另一部分是包主体( package body), 包主体包含了所有被捆绑的过程和函数的声明、执行、异常处理部分。 打包的PL/SQL程序和没有打包的有很大的差异 ,包数据在用户的整个会话期间都一直存 在,当用户获得包的执行授权时 ,就等于获得包规范中的所有程序和数据结构的权限 。但不 能只对包中的某一个函数或过程进行授权 。包可

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档