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: Mladen Gogala <mgogala.SPAM_ME.NOT_at_verizon.net>
Date: Mon, 19 Feb 2007 05:00:22 GMT
Message-ID: <G9aCh.1957$2w.154@trndny09>


On Sun, 18 Feb 2007 09:25:26 -0800, Timasmith wrote:

> In 10g is Oracle past the 30 character limit for table names and
> columns?
>
> thanks
>
> Tim

Let's see. Columns are described in the SYS.COL$ table. The critical attribute for your inquiry is NAME:

SQL> desc sys.col$

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJ#                                      NOT NULL NUMBER
 COL#                                      NOT NULL NUMBER
 SEGCOL#                                   NOT NULL NUMBER
 SEGCOLLENGTH                              NOT NULL NUMBER
 OFFSET                                    NOT NULL NUMBER
 NAME                                      NOT NULL VARCHAR2(30)
 TYPE#                                     NOT NULL NUMBER
 LENGTH                                    NOT NULL NUMBER
 FIXEDSTORAGE                              NOT NULL NUMBER
 PRECISION#                                         NUMBER
 SCALE                                              NUMBER
 NULL$                                     NOT NULL NUMBER
 DEFLENGTH                                          NUMBER
 DEFAULT$                                           LONG
 INTCOL#                                   NOT NULL NUMBER
 PROPERTY                                  NOT NULL NUMBER
 CHARSETID                                          NUMBER
 CHARSETFORM                                        NUMBER
 SPARE1                                             NUMBER
 SPARE2                                             NUMBER
 SPARE3                                             NUMBER
 SPARE4                                             VARCHAR2(1000)
 SPARE5                                             VARCHAR2(1000)
 SPARE6                                             DATE

SQL> Column NAME is defined as VARCHAR2(30), which means that you can only have 30 character names. It's a severe restriction for the database designers that would like to stuff entire sentences in the column names. Database is no place for the Vogon poetry.

-- 
http://www.mladen-gogala.com
Received on Sun Feb 18 2007 - 23:00:22 CST

Original text of this message

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