Oracle PL/SQL 关于存储过程和存函数的使用

在Oracle中,存储过程和存储函数的概念其实是差不多的,一般地,我们都可以混合使用。只不过有的时候有的情况使用过程好一些,有的情况时候函数的时候好一些。下面会讲解在什么时机使用过程还是函数的。

存储过程

语法

1
2
3
create [or replace] procedure 过程名[(参数列表)]  
as
PLSQL程序体;【begin…end;/】

存储函数

语法

1
2
3
create [or replace] procedure 过程名[(参数列表)]  
as
PLSQL程序体;【begin…end;/】

使用场景

我们发现过程与函数的区别其实是不大的,一般我们都可以用函数来实现的时候, 也可以使用过程来实现….

但是,总有些情况,使用函数比使用过程要好,使用过程比使用函数要好,那什么时候使用过程,什么时候使用函数呢

不难发现的是,函数是必定要有一个返回值的,当我们在调用的时候,接受返回值就直接获取就行了。

也就是说

  • 当返回值只有一个参数的时候,那么就使用存储函数!
  • 当返回值没有参数或者多于一个参数的时候,那么就使用过程!