- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按名称传递 按名称传递是指在调用时按照形参与实参的名称写出实参所对应的形参,将形参与实参关联起来进行传递 在这种方法中,形参与实参的名称是相互独立、没有关系的,名称的对应关系很重要,但次序不重要 名称传递在调用子程序时指定参数名,并使用关联符号“=”为其提供相应的数值或变量 call pro_add_emp(v_deptno=90,v_loc=南京,v_dname=软件部); 按照形参的名称赋值。 组合传递 可以将按位置传递、按名称传递两种方法在同一调用中混合使用 但前面的实参必须使用按位置传递方法,而后面其余的实参则可以使用按名称传递的方法 call pro_add_emp(90,v_loc=南京,v_dname=软件部); 第一个按形参位置传递,后面的按照形参的名称赋值。 3函数 函数用于返回特定数据,如果在应用程序中经常需要通过执行SQL语句来返回特定数据,则可以基于这些操作创建特定的函数 CREATE [OR REPLACE] FUNCTION function_name (argument1 [model] datatype1, argument2 [mode2] datatype2, ...) RETURN datatype IS|AS 声明部分 BEGIN 执行部分 EXCEPTION 异常处理部分 END; 创建函数 创建函数: 当创建函数时,通过使用输入参数,可以将应用的数据传递到函数中,最终通过执行函数可以将结果返回到应用程序中 当定义参数时,如果不指定参数模式,则默认为输入参数 create or replace function fun_getrandom return number as v_num number;--存储返回值 begin v_num:=floor(dbms_random.value(1,10));--产生随机数 return v_num;--返回随机数 end; declare num number; begin num:=fun_getrandom(); dbms_output.put_line(num); end; 创建带输入参数的函数: 通过输入员工编号获得员工所在的部门名称 create function getDept(eno number) return VARCHAR2 as deptName dept.dname%type; begin select dName into deptName from dept, emp where dept.deptno= emp.deptno and empno=eno; return deptname; end; declare deptName VARCHAR2(30); begin deptName:=getDept(7654); dbms_output.put_line(deptname); end; select getDept(7788) from dual 过程与函数的比较 过程与函数有许多相同的功能及特性 都使用IN模式的参数传入数据、OUT模式的参数返回数据 输入参数都可以接收默认值,都可以传值 调用时的实参都可以使用位置表示法或名称表示法 都有声明部分、执行部分和异常处理部分 一般而言,如果需要返回多个值或不返回值,就使用过程 如果只需要返回一个值,就使用函数 虽然函数带OUT模式的参数也能返回多个值,但是一般都认为这种方法属于不好的编程习惯或风格 过程一般用于执行一个指定的动作,函数一般用于计算和返回一个值 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 单击此处编辑母版标题样式 exec在命令提示符下执行 ORACLE数据库查询和管理 第10章 开发子程序和包 程序块的语法结构: 数据类型 条件控制语句 循环结构 异常处理 内容回顾 %type %rowtype %record %table DECLARE 定义部分 BEGIN 执行部分 EXCEPTION 异常处理部分 END; IF 条件表达式1 THEN 语句段1 ELSIF 条件表达式2 THEN 语句段2 ELSIF 条件表达式3 THEN 语句段3 ...... ELSIF 条件表达式n 语句段n END IF; CASE 表达式
文档评论(0)