在Oracle中禁用current_time

时间:2012-02-07 23:14:24

标签: oracle11g

我们刚刚从Oracle 8i迁移到Oracle 11g。这样做我们遇到了一个问题,我们有一个名为current_time的变量。我们将它用作各种过程和函数的变量以及几个表中的列名。在我们的procview中,对术语'CURRENT_DATE'的引用看起来在几千的附近。当我们升级时,突然间我们指的是current_date一词,新函数覆盖了变量和列名。我的问题是如何禁用对oracle定义函数的引用?

1 个答案:

答案 0 :(得分:1)

您需要限定列名称。否则,Oracle的范围解析规则将选择列

上的函数
SQL> create table foo( current_date date );

Table created.

SQL> insert into foo values( date '2011-01-01' );

1 row created.

SQL> select current_date from foo;

CURRENT_D
---------
07-FEB-12

SQL> select f.current_date from foo f;

CURRENT_D
---------
01-JAN-11