暂无图片
去o,本来package里做的处理,有什么替代方案吗?
我来答
分享
zwy2008
2022-01-11
去o,本来package里做的处理,有什么替代方案吗?

去o,本来package里做的处理,有什么替代方案吗?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
文成

其他关系型数据库也有存储过程的方案,当然,最好是把程序逻辑包装到外部程序中,这样以后维护处理方便些。
oracle迁移到pg全流程

暂无图片 评论
暂无图片 有用 1
打赏 0
秦超峰

不建议在使用package,跟楼上建议一样,把逻辑包装到外部程序中,曾经维护过上万行的package,太痛苦了

暂无图片 评论
暂无图片 有用 0
打赏 0
DarkAthena

目前国产的达梦、openGauss等数据库,支持create package语法。我实测将以前我以前在oracle中开发的部分package代码直接打在达梦或者openGauss数据库(2.1.0版本dbcompatibility=A)上,可以正常调用。

但是,这并不代表绝对兼容,因为ORACLE支持的语法太丰富了,要完全移植只能见招拆招,发现不支持的就只能用目标数据库的原生语法及函数去改。

而且,在编写oracle的过程时(含包、函数、过程),经常会使用到oracle系统自带的plsql工具包,目前这玩意也有好几百个,经常用于开发的也有好几十个,目前国内有不少数据库厂商在国产数据库上开发了其中一部分包,最多支持的也有二十多个包了。但很多包并没有在算法上进行优化,纯粹的只是为了去兼容,用逻辑模拟了一个相同的效果而已

使用package的优点就是程序简单且性能高效,方便维护及调试。作为一个经常写代码的,我宁愿把逻辑都放到数据库里,因为这样可控性更强,有什么问题都能很快查出来,尤其是逻辑特别复杂的那种。走外部程序封装逻辑再和数据库交互,查问题就很麻烦,光要定位问题是在数据库还是在外部程序就要花好长时间了。

但是package放到国产数据库里用,这些优点就不一定还存在了。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
存储已经分了多个lun,就是问这多个盘装rac时是每个盘可以直接用,还是先把每个盘做一个分区再用?
回答 2
建议在每个LUN上创建分区,然后再使用每个分区作为OracleASM卷,将其配置为OracleRAC节点的本地磁盘。这样可以确保在各个节点之间正确配置和共享存储,同时确保当一个节点发生故障时不会影响整
下图是数据抽取进程给的参数,有没有参数可以把16进制字符转成汉字?
回答 1
试试utlraw.casttovarchar2
有没得坐标转换地址的快速方法?
回答 1
写个PY实现https://zhuanlan.zhihu.com/p/358847780
数据库设计, 如何做能把数据设计得抽象合理 ?
回答 1
已采纳
可以看看这篇文章https://www.modb.pro/db/165182
应用系统一般是先停数据库, 还是先停应用?
回答 4
已采纳
关:先停应用再关库开:先起库再起应用
用rman delete很久之前的归档清理不掉,crosscheck也检测不到,怎么解决?
回答 2
这种情况一般是因为,控制文件中的keep记录设置为7天,导致7天前的归档记录不在控制文件中,导致无法校验和删除,处理方式如张sir所说,直接删除,或者让数据库识别后再rman删除。
数据库归档日志一般在什么情况下用到?
回答 1
数据恢复、部署ADG、部署OGG、日志分析LogMiner等
跨系统一张2亿数据表怎么快速同步?
回答 1
感觉缺少一些前提条件;简单操作可以可以先逻辑导出导入,然后通过创建dblink方式通过查询差异列数据,进行增量插入数据;或者用高级的ogg?adg方式
南大通用安全数据库GBase8s 在安装时有需要配置哪几些文件?
回答 1
主要需要配置•profile.gbaseserver环境变量文件;•onconfig.gbaseserver参数文件;•sqlhosts.gbaseserver文件
数据库更新某表某一条数据,数据库直接锁死了,解锁后更新或者删除又锁死了
回答 2
看是什么数据库和事务隔离级别。有的时候可能是表锁
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~