频道栏目
首页 > 资讯 > 其他综合 > 正文

pragmaautonomous_transaction的使用场景

18-02-22        来源:[db:作者]  
收藏   我要投稿

有时候,我们想在一个函数中做一些复杂的处理,比如更新一个临时表数据,然后做一些UPDATE处理,最后返回一个处理结果。想必大部分开发人员在初期都试过这样的操作,最终的结果是啥?

PLSQL函数中不能做DML操作,报错ORA-14551: cannot perform a DML operation inside a query

此后,我们可能转而用带out参数的存储过程来间接实现业务需求。

其实,另一个解决方案就是自治事务,上面的函数只要加一句声明就解决了这个错误

做了自治事务的声明后,不但函数中可以用DML语句,甚至可以使用DDL语句,比如CREATE TABLE ,CREATE INDEX等。因为自治函数内部所做的任何事务都独立于外部语句所运行的事务。

相关TAG标签
上一篇:编程"骚"技巧,怎么降低程序可读性
下一篇:HTTP 负载均衡
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站