去o,本来package里做的处理,有什么替代方案吗?
5M去o,本来package里做的处理,有什么替代方案吗?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
3条回答
默认
最新
不建议在使用package,跟楼上建议一样,把逻辑包装到外部程序中,曾经维护过上万行的package,太痛苦了
评论
有用 0采纳答案后不可修改和取消
目前国产的达梦、openGauss等数据库,支持create package语法。我实测将以前我以前在oracle中开发的部分package代码直接打在达梦或者openGauss数据库(2.1.0版本dbcompatibility=A)上,可以正常调用。
但是,这并不代表绝对兼容,因为ORACLE支持的语法太丰富了,要完全移植只能见招拆招,发现不支持的就只能用目标数据库的原生语法及函数去改。
而且,在编写oracle的过程时(含包、函数、过程),经常会使用到oracle系统自带的plsql工具包,目前这玩意也有好几百个,经常用于开发的也有好几十个,目前国内有不少数据库厂商在国产数据库上开发了其中一部分包,最多支持的也有二十多个包了。但很多包并没有在算法上进行优化,纯粹的只是为了去兼容,用逻辑模拟了一个相同的效果而已
使用package的优点就是程序简单且性能高效,方便维护及调试。作为一个经常写代码的,我宁愿把逻辑都放到数据库里,因为这样可控性更强,有什么问题都能很快查出来,尤其是逻辑特别复杂的那种。走外部程序封装逻辑再和数据库交互,查问题就很麻烦,光要定位问题是在数据库还是在外部程序就要花好长时间了。
但是package放到国产数据库里用,这些优点就不一定还存在了。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

