Re: How can create case-insensitive database in oracle?

From: s.kapitza <skapitza_at_volcanomail.com>
Date: 31 Jan 2004 12:50:07 -0800
Message-ID: <26703915.0401311250.7c128645_at_posting.google.com>


nasiri_at_kawacomputer.com (Madjid Nasiri) wrote in message news:<251d9fce.0401310019.44c81569_at_posting.google.com>...
> Walt <walt_at_boatnerd.com.invalid> wrote in message news:<401A8A37.D644F684_at_boatnerd.com.invalid>...
> > Guido Konsolke wrote:
> > >
> > > "Madjid Nasiri" wrote...
> > > > Hi,
> > > > I am basic in oracle. My Old programs write with Delphi and
 Databases:
> > > > Access, Paradox, MySQL, Microsoft SQL.
> > > > I write my code (SQL code) case-insensitivae, but now i need use
> > > > oracle database. The Oracle by default is case-sensitive, How can
 used
> > > > case-insensitive in oracle.
> > > >
> > > > Thanks
> > > > Madjid Nasiri
> > >
> > > Hi Madjid,
> > >
> > > I hope you are going to use a version >= 8.1.7 (9.2.0.4 would be
> > > best).
> > > Since you don't provide much infos to play around with, here are 2 two
> > > possible meanings of your post:
> > > 1. You want to store data case insensitive: do an 'insert...
> > > values(upper('Abcd'))...'.
> > > This will put your data in upper case into the tables.
> > > 2. Your data will be mixed-case and you want to select them case
> > > insensitive:
> > > create 'function based indexes' on every column you want to use in
> > > your where-clauses.
> > > Then 'select ... where <column_name> = 'ABCD'.
> > >
> > > If my assumptions about your intention are wrong, please explain it a
> > > little.
> >
> > Sounds to me like a third possibility:
> >
> > 3. He has a body of SQL that is case-insensitive and mistakenly
> > believes that Oracle SQL is case sensitive.
> >
> > Majid,
> >
> > Oracle SQL is case insensitive. The character data stored in Oracle is
> > case sensitive.
> >
> > i.e. the following statements are identical:
> > SELECT * from FOO where COL = 'BAR';
> > select * From Foo WHERE col = 'BAR';
> >
> > These two are not:
> > SELECT * from FOO where COL = 'BAR';
> > SELECT * from FOO where COL = 'Bar';
> >
> > Oracle provides string functions UPPER() and LOWER() to deal with
> > case-sensitivity issues. There's also INITCAP() but it doesn't always
> > give you what you want.
>
> Hi All, and Thanks from Guido and Walt
> I didn't problam with Data case-sensitive. My problam is in "Table
> Name" and "Field Name" for example I like
> select Table1.Code from Table1 ======== select TABLE1.CODE from TABLE1
>
> Thanks for answers,

Hi Madjid,

as long as you enclose your db-objects not with "<object>" you will have no problems. If you enclose your objects, you have to enclose your querys-objects also. for example :

#################################################################

SQL> create table foo (blah number);

Table created.

SQL> select * from foo;

no rows selected

SQL> select * from "foo";
select * from "foo"

              *
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> create table "foo" (blah number);

Table created.

SQL> select * from foo;

no rows selected

SQL> insert into "foo" values (8);

1 row created.

SQL> select * from foo;

no rows selected

SQL> select * from "foo";

      BLAH


         8

SQL>

#######################################################

regards

s.kapitza Received on Sat Jan 31 2004 - 21:50:07 CET

Original text of this message