ORA-00904/ORA-00942和Oracle 大小写区分

Oracle数据库中各种对象(包括表,列,索引等)默认不区分大小写,在数据字典中一律用大写。假如用户在建表(包括外部表)时,将列名/表名用双引号括起,这些都成为大小写区分的数据库对象。这时select 时需要严格按照建表时的大小写才能成功,否则返回ORA-000904或ORA-00942错误。

某些软件可以帮助用户自动产生Create table语句,这时需要将双引号去掉。否则会产生上述错误。

create table "t" ( "a" int );
table "t" created.

select A from T;
ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"
*Cause:   
*Action:
Error at Line: 16 Column: 15


select A from "t";
ORA-00904: "A": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:   
*Action:
Error at Line: 16 Column: 8

相关阅读:

相关推荐