考试网 >> IT认证 >> Oracle >> Oracle指导 >> Oracle 数据对象分析

Oracle 数据对象分析

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

  过程和函数

  

  过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值。过程有零个或多个参数,没有返回值。函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式。过程是作为一个独立执行语句调用的:

  

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