oracle数据库函数/存储过程/包区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库函数/存储过程/包区别相关的知识,希望对你有一定的参考价值。

函数:用于返回特定数据,函数可以直接在SQL语句中执行,包含return 用来进行数据操作,并返回一个单独的函数值
存储过程:用于完成一个具体任务(程序的业务)
相同点:
1、创建的语法结构相似,都可以传入和传出多个参数
2、一次编译多次运行
不同点:
存储过程的关键字procedure,函数定义关键字function
2、存储过程中不能用return返回值,函数可以,而且函数必须有return
3、执行方式,存储过程(begin和end,call,excute),函数除了这三种方式以外,可以当作表达式,在sql语句中执行,
总结:如果只有一个返回值,并且在sql语句中使用用函数,否则,一般全部使用存储过程

以下是创建过程:

 

函数用于返回特定数据,跟存储过程差不多。包,顾名思义就是一个包装的东西。里面可以是函数,可以是存储过程,
函数创建过程:
Create or replace function function_name()
Return datatype
As
Begin
End;
------------------------------------------------------------------------------
存储过程的创建:
Create or replace procedure procedure_name()
Is
Begin
End;
------------------------------------------------------------------------------------
包的创建: create or replace package package_name--------------包头

End
create or replace package body package_name----------------要和包头名一样
As
Begin
end




























以上是关于oracle数据库函数/存储过程/包区别的主要内容,如果未能解决你的问题,请参考以下文章

在 Oracle 12“包”中,如何使变量、函数或过程可访问或不可访问?

oracle函数和存储过程有什么区别

ORACLE存储过程里可以声明过程和函数吗

mysql 与oracle中的存储过程及函数有啥区别,尽可能详细哦

Oracle --- 存储过程函数包游标触发器

Oracle --- 存储过程函数包游标触发器