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

posted on 2017-10-04 09:26  jmj1993  阅读(2147)  评论(0编辑  收藏  举报