64位oracle 32位plsql
随着计算机技术的不断发展,硬件现在一般都是64位的,尤其是新的操作系统和处理器都在使用64位,而随之而来的是软件也要进行相应的升级,才能更好地利用这些新的硬件资源。在数据库中,oracle也推出了64位版本,对于大型数据处理来说,64位oracle是必不可少的。但是有些程序员在使用oracle时,会发现自己的代码仅支持32位的plsql,因而会产生兼容性问题。
那么为什么会产生兼容性问题呢?这个问题可以从计算机兼容性的角度来解释,我们知道,现在计算机的指令集非常复杂,32位和64位的指令集是不同的,而plsql这个开发环境很大程度上是和指令集相关的,因而32位和64位的plsql运行环境也是不同的。
举个例子,假设我们的oracle数据库是64位的,而我们要使用plsql运行一个存储过程,如果这个存储过程是用32位的plsql编写的,那么在运行时就会出现问题,因为32位的plsql并不能在64位的oracle环境中正常运行。这种情况下,我们要么使用64位的plsql进行编写,要么就得使用32位的oracle来运行这个存储过程,否则就会出现兼容性问题。
至于采用哪种方式来解决兼容性问题,这取决于具体情况。如果我们的程序本来就是基于64位oracle进行开发的,那么使用64位的plsql进行编写就是比较合适的;而如果我们需要和32位的两方进行通信,那么就需要考虑使用32位的oracle来运行我们的程序了。
DECLARE V_COUNT NUMBER(38); BEGIN SELECT COUNT(*) INTO V_COUNT FROM EMP WHERE DEPTNO=&P_DEPTNO; IF V_COUNT>100 THEN DBMS_OUTPUT.PUT_LINE('RECORDS COUNT IS TOO LARGE!'); ELSE DBMS_OUTPUT.PUT_LINE('RECORDS COUNT IS CORRECT!'); END IF; END;