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“包”中,如何使变量、函数或过程可访问或不可访问?