Re: Oracle tablename problem

From: Scott Urman <surman_at_oracle.com>
Date: 15 Feb 1995 20:17:19 GMT
Message-ID: <3htngf$q6u_at_dcsun4.us.oracle.com>


In article <D4025p.2yB_at_lut.ac.uk>, M.A.Hearnden_at_lut.ac.uk (Mavis Hearnden) writes:
|> A user on our system has been using Visual Basic on a PC together
|> with SQL*Net to access Oracle data (Oracle v6.0.37..
|> on an HP 9000/8??) .
|> The program he wrote created Oracle tables which had names including lower
|> case letters. (eg zone, Products).
|> When he tried to access these tables, he couldn't.
|> Trying to rename/drop them didn't work either.
|>
|> I tried, using SQLPlus and Pro*Fortran (yes, but I'm happier with
|> Fortran than C); and again no success.
|> SQL of all flavours clearly changes tablenames into
|> uppercase before passing to the RDBMS.
|>
|> Only thing I could do was to go to the original SYS
|> tables (obj$,tab$, etc) and delete the tables by number.
|> A horrible warning to all.
|> Anyone else had this happen?
|> I've not seen the original VBasic programs, so I
|> dont know exactly what was going on.
|>
|> Mavis
|>
|>
|> --
|> Mavis Hearnden
|> Computer Services
|> Loughborough University,
|> Leicestershire,England

Correct. SQL will change all database objects to uppercase first. Part of the standard, I think. You can get around this by using double quotes:

create table "Lower case" as ....

select from "Lower case" ...

Note that you will ALWAYS need the double quotes. SQL inside quotes IS case sensitive, SQL outside quotes is not. Received on Wed Feb 15 1995 - 21:17:19 CET

Original text of this message