这取决于你的代码。大多数代码应该正常工作,不应该有任何问题,因为Sybase没有弃用T-SQL命令。但是当你升级时,你应该升级你的代码以充分利用新版本。否则,您将支付新版本但仍在旧版本上运行。
我建议您检查proc中实现的逻辑是否可以在新版本中以更好的方式编写,如果是,则继续进行更改以使用新功能。
可能需要的更改实际上取决于版本。由于优化器的内部并行性得到了改进,因此从较低版本迁移到ASE15或更高版本所需的已知更改。
有关ASE15升级(或更高版本)的这些特定代码更改的更多信息:
http://sapassets.edgesuite.net/sapcom/docs/2016/09/f69a1674-8a7c-0010-82c7-eda71af511fa.pdf
我的经验是从任何较低版本迁移到ASE15或更高版本需要对查询计划更改进行大量检查,因为可能会看到连接顺序或其他更改。你应该真正获得运行时来执行旧版本上的任何关键关键proc,并与更高版本进行比较。
您需要注意的另一件事是保留字可能会在ASE版本之间发生变化,因此现在可能禁止在早期版本中允许使用的列名。您可以查看新版本文档以获取指导,Sybase提供保留字检查过程以在升级之前检查这些过程。
根据你编写存储过程的方式,他们可能需要修改,但我非常怀疑它,除非你使用深奥的东西或直接查询系统表(他们改变了一堆sys *表,所以如果你使用它们,你可能会得到坏数据)。
Sybase通常保持向后兼容性,我不知道15中的任何主要T-SQL弃用(rowcnt()和一些traceflags)。 ASE 15具有极大增强的查询处理器,但如果它搞砸了您的查询,您可以将其备份到ASE 12.5模式。
无论如何,你应该事先测试你的升级,但我怀疑你会看到很多问题。
我们从12.7迁移到15.0,我们不得不改变一些存储过程,使用临时表等,