What is the maximum length of a table name in Oracle?

前端 未结 12 1515
不知归路
不知归路 2020-12-07 09:04

What are the maximum length of a table name and column name in Oracle?

相关标签:
12条回答
  • 2020-12-07 09:13

    The maximum length of the table and column name is 128 bytes or 128 characters. This limit is for using sybase database users. I verified this answer thoroughly, so that I have posted this answer confidently.

    0 讨论(0)
  • 2020-12-07 09:17

    The schema object naming rules may also be of some use:

    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#sthref723

    0 讨论(0)
  • 2020-12-07 09:22

    Teach a man to fish

    Notice the data-type and size

    >describe all_tab_columns
    
    VIEW all_tab_columns
    
    Name                                      Null?    Type                        
     ----------------------------------------- -------- ----------------------------
     OWNER                                     NOT NULL VARCHAR2(30)                
     TABLE_NAME                                NOT NULL VARCHAR2(30)                
     COLUMN_NAME                               NOT NULL VARCHAR2(30)                
     DATA_TYPE                                          VARCHAR2(106)               
     DATA_TYPE_MOD                                      VARCHAR2(3)                 
     DATA_TYPE_OWNER                                    VARCHAR2(30)                
     DATA_LENGTH                               NOT NULL NUMBER                      
     DATA_PRECISION                                     NUMBER                      
     DATA_SCALE                                         NUMBER                      
     NULLABLE                                           VARCHAR2(1)                 
     COLUMN_ID                                          NUMBER                      
     DEFAULT_LENGTH                                     NUMBER                      
     DATA_DEFAULT                                       LONG                        
     NUM_DISTINCT                                       NUMBER                      
     LOW_VALUE                                          RAW(32)                     
     HIGH_VALUE                                         RAW(32)                     
     DENSITY                                            NUMBER                      
     NUM_NULLS                                          NUMBER                      
     NUM_BUCKETS                                        NUMBER                      
     LAST_ANALYZED                                      DATE                        
     SAMPLE_SIZE                                        NUMBER                      
     CHARACTER_SET_NAME                                 VARCHAR2(44)                
     CHAR_COL_DECL_LENGTH                               NUMBER                      
     GLOBAL_STATS                                       VARCHAR2(3)                 
     USER_STATS                                         VARCHAR2(3)                 
     AVG_COL_LEN                                        NUMBER                      
     CHAR_LENGTH                                        NUMBER                      
     CHAR_USED                                          VARCHAR2(1)                 
     V80_FMT_IMAGE                                      VARCHAR2(3)                 
     DATA_UPGRADED                                      VARCHAR2(3)                 
     HISTOGRAM                                          VARCHAR2(15)                
    
    0 讨论(0)
  • 2020-12-07 09:22

    Oracle database object names maximum length is 30 bytes.

    Object Name Rules: http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm

    0 讨论(0)
  • 2020-12-07 09:33

    30 char (bytes, really, as has been stated).

    But do not trust me; try this for yourself:

    SQL> create table I23456789012345678901234567890 (my_id number);
    
    Table created.
    
    
    
    SQL> create table I234567890123456789012345678901(my_id number);
    
    
    ERROR at line 1:
    
    ORA-00972: identifier is too long
    

    Updated: as stated above, in Oracle 12.2 and later, the maximum object name length is now 128 bytes.

    0 讨论(0)
  • 2020-12-07 09:34

    On Oracle 12.2, you can use built-in constant, ORA_MAX_NAME_LEN, set to 128 bytes (as per 12.2) Prior to Oracle 12.1 max size was 30 bytes.

    0 讨论(0)
提交回复
热议问题