最近遇到这样一个问题,在oracle9i与oracle11中分别验证下面的存储过程,获得的结果是不同的。oracle9i获取都都是前面的值,oracle11获取的是后面的值,为何会这样呢?
CREATE OR REPLACE PROCEDURE p_insert(bs in varchar2)
IS
date_a date;
date_b date;
BEGIN
SELECT sysdate,'' INTO date_a, date_a from dual;
DBMS_OUTPUT.put_line(date_a);
SELECT sysdate-1,sysdate+1 INTO date_b, date_b from dual;
DBMS_OUTPUT.put_line(date_b);
DBMS_OUTPUT.put_line('--------------------------------');
END;
------解决思路----------------------
版本差异造成的吧,没必要纠结这个吧
再说实际项目中应该没人会写类似这样的东西吧
------解决思路----------------------
这个是各版本的赋值顺序不同,呵~
刚测了一下,10g和11g是一样的~