Home > Database > Mysql Tutorial > Oracle过程和函数的区别

Oracle过程和函数的区别

WBOY
Release: 2016-06-07 17:00:04
Original
1047 people have browsed it

Oracle过程和函数相信大家都比较了解,下面就为您详细介绍Oracle过程和函数二者之间的区别,希望可以让您对Oracle过程和函数有更

Oracle过程和函数相信大家都比较了解,下面就为您详细介绍Oracle过程和函数二者之间的区别,,希望可以让您对Oracle过程和函数有更深的认识。

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

  • pay_involume(invoice_nbr,30,due_date); 
  • 函数以合法的表达式的方式调用:

  • 创建过程的语法如下:

  • CREATE [ OR REPLACE] PROCEDURE [schema.]procedure_name  
  • [parameter_lister]  
  • {AS|IS}  
  • declaration_section  
  • BEGIN  
  • executable_section  
  • [EXCEPTION  
  • exception_section]  
  • END [procedure_name]   
  • 每个参数的语法如下:

  • mode有三种形式:IN、OUT、INOUT。

    IN表示在调用过程的时候,实际参数的取值被传递给该过程,形式参数被认为是只读的,当过程结束时,控制会返回控制环境,实际参数的值不会改变。

    OUT在调用过程时实际参数的取值都将被忽略,在过程内部形式参数只能是被赋值,而不能从中读取数据,在过程结束后形式参数的内容将被赋予实际参数。

    INOUT这种模式是IN和OUT的组合;在Oracle过程内部实际参数的值会传递给形式参数,形势参数的值可读也可写,过程结束后,形势参数的值将赋予实际参数。

    创建函数的语法和过程的语法基本相同,唯一的区别在于函数有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语句。

    在创建函数中可以调用单行函数和组函数,例如:

  • linux

  • Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template