Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: 30 character limit for table/column names?

Re: 30 character limit for table/column names?

From: Anurag Varma <avoracle_at_gmail.com>
Date: 21 Feb 2007 13:15:44 -0800
Message-ID: <1172092544.447862.166300@a75g2000cwd.googlegroups.com>


On Feb 21, 8:05 am, Serge Rielau <srie..._at_ca.ibm.com> wrote:
> Niall Litchfield wrote:
> > Timasmith wrote:
> >> On Feb 19, 5:57 am, "William Robertson" <williamr2..._at_googlemail.com>
> >> wrote:
> >>> On Feb 18, 5:25 pm, "Timasmith" <timasm..._at_hotmail.com> wrote:
>
> >>>> In 10g is Oracle past the 30 character limit for table names and
> >>>> columns?
> >>> No, thank goodness. Let's hope it stays that way.
> >> Well I think one day they should increase, I liken it to DOS and 8
> >> character filenames. When you build large information systems with
> >> 100's, even thousands of tables it becomes rather annoying for users
> >> to have to guess the spelling. It also forces an ugly naming
> >> convention as the logical domain prefixes are forced from 'words' to
> >> '3 character prefixes that suck'.
>
> > I wonder what limit you would increase it to?
> > I personally would object to a table called
>
> It seems like the industry is settling for 128.
> When you introduce UTF-8 to the mix and you are a Japanese customer 30
> bytes can get quite tight.
> The argument for long names being made to me (which I accept) is that
> especially for secondary objects such as INDEX and TRIGGER folsk liek to
> have descriptive names:
> Eg. for an index: <tbname>_IDX_<list of columns>
> or a trigger: <tbname>_TRG<BEF/AFT><ROW/STMT><operation><purpose>
> So it adds up...
>
> And yes it is a lot of tedious work and can't be sold to the marketing
> guys. :-(
>
> Cheers
> Serge
>
> --
> Serge Rielau
> DB2 Solutions Development
> IBM Toronto Lab

Serge,
Thats a good point. Oracle data dictionary forces BYTE length semantics.
So the table names are max 30 bytes in length. You put in greek table names and your table names might not accomodate more than 10 characters in a utf8 database.
ORA92> create table Αποτελέσματα (a number);

Table created.

ORA92> create table περισσότερωνΑποτ (a number); create table περισσότερωνΑποτ (a number)

             *
ERROR at line 1:
ORA-00972: identifier is too long

Anurag Received on Wed Feb 21 2007 - 15:15:44 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US