oracle中 procedure(存储过程)和function(函数)本质区别
发布时间 - 2026-01-10 22:53:52 点击率:次 Oracle function里面是可以允许有DML语句的,但是不能在查询的时候使用。

我们常用的function如:
select max(a) from table ;
这种调用方式是不能执行带有DML的FUNCTION的。
但是如果不用在SQL里面是可以有的
比如 dbms_output.put_line(func(...));
如果函数里面采用自治事务,是可以有DML 的。
什么是“自治事务”:
自治事务是可以在其他事务中调用的独立事务。
自治事务可以使事务离开调用事务的上下文执行SQL操作、提交或回滚其他操作并返回到调用事务的上下文然后继续调用事务。
自治事务调用后,事务完全与调用它的主事务独立。
不会看到任何主事务尚未提交的改变、不会共享主事务的锁或资源。自治事务的改变在自治事务提交后可以被其他事务可见。
自治事务可以调用其他自治事务,嵌套的层数没有限制。
Oracle FUNCTION与PROCEDURE的最大区别小结
1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中一般不用变量形参,用函数名直接返回函数值;而过程如有返回值,则必须用变量形参返回。
3、过程无类型,不能给过程名赋值;函数有类型,最终要将函数值传送给函数名。
4、函数在定义时一定要进行函数的类型说明,过程则不进行过程的类型说明。
5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。
6、过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值
function 可以使用在表达式中 x := func();procedure不能
function 可以做为表达式 select func() from dual;procedure 不能
function 不能BEGIN func();END;;procedure 可以
下图说明它们之间的区别:
以上所述是小编给大家介绍的oracle中 procedure(存储过程)和function(函数)本质区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# oracle
# function
# procedure区别
# function和procedure
# 详解oracle管道函数的用法(一行拆为多行)
# Postgresql源码分析returns setof函数oracle管道pipelined
# Oracle function函数返回结果集的3种方法
# MySQL与Oracle差异比较之五存储过程&Function
# Oracle管道函数pipelined function的用法小结
# 小编
# 在此
# 如有
# 出现在
# 能在
# 给大家
# 数据处理
# 可以使用
# 要将
# 能给
# 用在
# 来完成
# 所述
# 或与
# 给我留言
# 感谢大家
# 存储过程
# 若干个
# 返回值
# 层数
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel如何与Inertia.js和Vue/React构建现代单页应用
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Swift中swift中的switch 语句
Android滚轮选择时间控件使用详解
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel如何使用Telescope进行调试?(安装和使用教程)
如何快速登录WAP自助建站平台?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何快速生成专业多端适配建站电话?
EditPlus中的正则表达式 实战(2)
C++用Dijkstra(迪杰斯特拉)算法求最短路径
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Android Socket接口实现即时通讯实例代码
如何在万网ECS上快速搭建专属网站?
Linux后台任务运行方法_nohup与&使用技巧【技巧】
如何在腾讯云免费申请建站?
如何在IIS中新建站点并配置端口与IP地址?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
浅析上传头像示例及其注意事项
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何正确下载安装西数主机建站助手?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
微信h5制作网站有哪些,免费微信H5页面制作工具?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
详解Huffman编码算法之Java实现
Android中AutoCompleteTextView自动提示
如何用花生壳三步快速搭建专属网站?
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何在橙子建站中快速调整背景颜色?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
HTML 中如何正确使用模板变量为元素的 name 属性赋值
高防服务器租用指南:配置选择与快速部署攻略
Python文件流缓冲机制_IO性能解析【教程】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
教你用AI润色文章,让你的文字表达更专业
Python自动化办公教程_ExcelWordPDF批量处理案例
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案

