Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.misc -> Re: Interesting 8i "mixed case" object name...

Re: Interesting 8i "mixed case" object name...

From: Malcolm Dew-Jones <>
Date: 19 Apr 2005 17:02:57 -0800
Message-ID: <>

GWood ( wrote:
: Recently had a problem with an IDE for the Silverstream product. During
: it's scanning of the user database, it detected a duplicate table name where
: the two table names were identical but in different cases. Since we all
: know Oracle names are not case sensitive, we got to playing...

: CREATE TABLE XXX."my_table"
: (
: my_col VARCHAR2(40)
: );

: create table XXX.MY_TABLE
: (
: my_col VARCHAR2(40)
: );

: This creates two different tables. You can access them separately, but need
: to use quote syntax for the "lowercase" one.

: select * from XXX."my_table"
: select * from XXX."MY_TABLE"
: select * from XXX.MY_TABLE -- defaults to the uppercase version
: select * from all_objects o where upper(o.object_name) like 'MY%'

: Silverstream apparently uses the all_objects (or similar) view to derive
: it's DB information, since it hurled when it hit the dual entries there. In
: this view, there are no quotes, just the two names in different cases.

: We've fixed the problem, but are curious on how/why Oracle allows this.
: Ideas?

My opinion is that Oracle has this capability because it's the most practical way to support some desirable interoperability with other products.

But they appear to support this only in the sense that it has to work since they make use of it, not in the sense that they ever want any normal oracle based application or tool to use it.

If you have something like MS Access as a front end then you may end up with some tables like that in your database. You may need to access those tables from within Oracle, and you can - by using the right syntax. But otherwise leave all that stuff well alone.



This space not for rent.
Received on Tue Apr 19 2005 - 20:02:57 CDT

Original text of this message