oracle中存储函数与存储过程的区别介绍
作者:Jamyson 时间:2023-07-12 23:40:15
在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己做一个总结:
一:存储过程:简单来说就是有名字的pl/sql块。
语法结构:
create or replace 存储过程名(参数列表)
is
--定义变量
begin
--pl/sql
end;
案例:
create or replace procedure add_(a int,b int)
is
c int;
begin
c:=a+b;
dbms_output.put_line(c);
end;
调用存储过程
declare
begin
add_(12,34);
end;
存储过程的三种类型参数:
输入参数(默认) in
输出参数 out
输入输出参数 in out
函数定义
语法结构:
create or replace function 函数名(参数列表) return 类型
is
begin
end;
案例:
create or replace function f1(n1 dec,n2 dec) return dec
is
r dec(19,2);
begin
r:=n1/n2;
return r;
exception
when zero_divide then
dbms_output.put_line('除数不能为0');
return 0;
end;
存储过程与存储函数的区别和联系:
相同点:1.创建语法结构相似,都可以携带多个传入参数和传出参数;
2.都是一次编译,多次运行;
不同点:1.存储过程定义关键字用procedure,函数定义用function;
2.存储过程中不能用return返回值,但函数中可以,而且函数中必须有return返回;
3.执行方式略有不同,存储过程的执行方式有两种(1.使用execute;2.使用begin和end)函数除了
存储过程的两种方式,还可以当做表达试使用,例如放在select中(select f1() from dual;)
总结:如果只有一个返回值,用存储函数,否则,一般用存储过程。
以上所述是小编给大家介绍的oracle中存储函数与存储过程的区别介绍,希望对大家有所帮助
来源:http://blog.csdn.net/heligui/article/details/78315800
标签:oracle,存储过程,存储函数
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Yahoo!网站性能最佳体验的34条黄金守则—内容
2008-05-13 12:14:00
![](https://img.aspxhome.com/file/UploadPic/up/2008052914062462.gif)
torch.optim优化算法理解之optim.Adam()解读
2023-06-24 23:30:25
![](https://img.aspxhome.com/file/2023/9/72739_0s.png)
Python实现将SQLite中的数据直接输出为CVS的方法示例
2022-10-01 00:05:32
详解vue事件对象、冒泡、阻止默认行为
2024-04-28 09:26:19
js计算精度问题小结
2024-04-10 13:55:24
查询SQL Server Index上次Rebuild时间的方法
2024-01-14 11:31:23
Python实现一个转存纯真IP数据库的脚本分享
2024-01-17 16:43:38
![](https://img.aspxhome.com/file/2023/8/103288_0s.jpg)
vue3获取当前路由地址
2024-05-09 15:13:36
![](https://img.aspxhome.com/file/2023/6/126546_0s.jpg)
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2024-05-22 10:36:28
python控制台打印log输出重复的解决方法
2021-02-23 04:05:17
![](https://img.aspxhome.com/file/2023/8/105578_0s.jpg)
python 解决flask 图片在线浏览或者直接下载的问题
2022-05-15 06:24:57
35个JS中实用工具函数的代码分享
2024-05-03 15:08:25
![](https://img.aspxhome.com/file/2023/6/130516_0s.png)
SQL左连接和右连接原理及实例解析
2024-01-21 20:35:39
python datetime中strptime用法详解
2022-03-08 19:31:48
python使用psutil模块获取系统状态
2021-12-13 23:36:10
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2021-06-06 01:26:54
JavaScript设计模式之适配器模式介绍
2023-08-12 06:36:09
Dreamweaver定义本地站点
2010-07-02 16:27:00
PHP下常用正则表达式整理
2023-11-18 03:04:48
vue使用微信JS-SDK实现分享功能
2023-07-02 16:59:46
![](https://img.aspxhome.com/file/2023/6/139876_0s.png)