今天一个哥们问一个存储过程编译问题,看了半天,并且将源码放到自己本地测试一翻,正常!什么问题啊?
最后实在没招了,让他看看分区表是怎么定义的,最终发现分区表的分区名全是数字,不符合Oracle命名的规范啊?!
我们再来看看这些规则:
Oracle明确规定在此,要以字母开头。就是这样的小问题,造成很大的麻烦。
但是“全数字”的对象名称是怎么进到数据库的呢?
其实,这样跟Oracle有关,在Oracle数据库中,有个双引号比较独特,下面以示例说明。
SQL> create table "12345" (x int);
Table created.
SQL> select * from 12345;
select * from 12345
*
ERROR at line 1:
ORA-00903: invalid table name
SQL> select * from "12345";
no rows selected
所以,以后使用它,都要用双引号括着它。
将此记录下来,是自己时常重温一下,避免不经意的小错,带来不必要的大麻烦。
ora命名规范.jpg
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26812308/viewspace-747034/
,如需转载,请注明出处,否则将追究法律责任。