Oracle8i和9i中PLSQL程序不同运行结果
在把ORACLE的数据库从8i升级到9i及以上的时候,一般认为原有的PLSQL程序应该完全兼容,即运行过程和运行结果完全一致。遗憾的是,事实并非如此,由于ORACLE PLSQL引擎的升级,它对某些代码解释做了更改,导致某些代码会有不同的运行结果。各位在升级数据库时必须重视,否则将导致无法估量的损失和难以恢复的灾难。 1、PLSQL表作为参数传递 先看以下代码,在ORACLE 8i和9i中的运行结果。
示例代码非常简单,即将PLSQL表的某个成员变量当作参数给另一过程,此过程改变了原PLSQL表的值,但未改变传入参数的值(当然不能改,表示为IN的参数的值是不能改的),观看改变前后,传入参数的值在Oracle 8i和9i的变化。 运行结果:
显然运行结果不一样!在Oracle 8i中,传入参数的值在原PLSQL表的值改变前后未变化,而在Oracle 9i中,传入参数的值被改动了。
上一篇:Oracle数据库应遵循的PL/SQL编码规则 下一篇:.NET框架下Oracle到SQL Server迁移 更多相关文章
|
推荐文章
精彩文章
|