一、存储过程和存储函数区别:
1、本质相同,没有区别
2、函数的存在是让过程调用,存储过程内部又是调用存储函数
3、存储函数可以在sql语句中直接调用 如 select 函数 from 表名
4、存储过程能实现的,存储函数也都可以实现,存储函数可以实现的,存储过程也都可以实现
5、存储过程中可以没有返回值,也可以有多个,但存储函数中强制返回一个return
二、存储过程和存储函数创建
存储过程和存储函数创建的语法类似
create [or replace] 中 or replace是一个可选参数,表示 存在同名函数/过程 覆盖更新,不存在则创建,一般开始创建时不推荐使用,防止将原有的删除。
过程/函数名后面参数 参数名 in | out 参数类型 in表示输入,out表是输出
is ...
begin
...
end;
则和传统的plsql编程类似,is后 定义参数变量,begin 编写主流程语句,end表示结束。
/*
存储过程
create [or replace] procedure 存储过程名(参数1 in | out 参数类型,参数1 in | out 参数类型)
is
定义参数
begin
过程...
end;
*/
/*
存储函数
create [or replace] function 函数名(参数1 in 参数类型,参数1 in 参数类型) re