在oracle中有一个函数版本吗? - 类似DLL的版本。
我想要这样做的原因是,如果我们发布一个新功能来修复错误,我希望能够轻松判断客户端是否正在运行新功能。
如果没有,那么除了提供版本之外,还有解决方案吗?例如,在过去我们已将函数重命名为_v2并更改了代码以调用使用新名称 - 看起来像是一种过度杀伤。
答案 0 :(得分:5)
您通常应该在包中使用您的功能。在一个包中,您可以拥有一个返回包体版本的函数:
SQL> select my_package.body_version ver from dual;
VER
---
1.3
每当您发布新版本的软件包时,请递增此函数返回的版本。我们通过让源代码控制系统(PVCS)在函数定义中记录其版本号来自动执行此操作。