e was analyzed';
comment on column USER_TABLES.PARTITIONED is 'Is this table partitioned? YES or NO';
comment on column USER_TABLES.IOT_TYPE is 'If index-only table, then IOT_TYPE is IOT or IOT_OVERFLOW or IOT_MAPPING else NULL';
comment on column USER_TABLES.TEMPORARY is 'Can the current session only see data that it place in this object itself?';
comment on column USER_TABLES.SECONDARY is 'Is this table object created as part of icreate for domain indexes?';
comment on column USER_TABLES.NESTED is 'Is the table a nested table?';
comment on column USER_TABLES.BUFFER_POOL is 'The default buffer pool to be used for table blocks';
comment on column USER_TABLES.FLASH_CACHE is 'The default flash cache hint to be used for table blocks';
comment on column USER_TABLES.CELL_FLASH_CACHE is 'The default cell flash cache hint to be used for table blocks';
comment on column USER_TABLES.ROW_MOVEMENT is 'Whether partitioned row movement is enabled or disabled';
comment on column USER_TABLES.GLOBAL_STATS is 'Are the statistics calculated without merging underlying partitions?';
comment on column USER_TABLES.USER_STATS is 'Were the statistics entered directly by the user?';
comment on column USER_TABLES.DURATION is 'If temporary table, then duration is sys$session or sys$transaction else NULL';
comment on column USER_TABLES.SKIP_CORRUPT is 'Whether skip corrupt blocks is enabled or disabled';
comment on column USER_TABLES.MONITORING is 'Should we keep track of the amount of modification?';
comment on column USER_TABLES.CLUSTER_OWNER is 'Owner of the cluster, if any, to which the table belongs';
comment on column USER_TABLES.DEPENDENCIES is 'Should we keep track of row level dependencies?';
comment on column USER_TABLES.COMPRESSION is 'Whether table compression is enabled or not';
comment on column USER_TABLES.COMPRESS_FOR is 'Compress what kind of operations';
comment on column USER_TABLES.DROPPED is 'Whether table is dropped and is in Recycle Bin';
comment on column USER_TABLES.READ_ONLY is 'Whether table is read only or not';
comment on column USER_TABLES.SEGMENT_CREATED is 'Whether the table segment is created or not';
comment on column USER_TABLES.RESULT_CACHE is 'The result cache mode annotation for the table';
我们可以由视图结构中锁定到三个地方,定位到来源,如下:
table_name
o.name
sys.obj$ o
可以发现,table_name字段来源于sys.obj$中的name字段,如下:

我们尝试修改一下sys.obj$中name字段的长度,如下:

可以看到,我们是无法修改数据库系统的字典字段的定义。用同样的方法,我们还可以查看USER_TAB_COLUMNS,USER_CONSTRAINTS等视图,会发现对于oracle,限制了命名的长度,都限制在了30个字节。
之后在网上搜了一下,发现对于不同的数据库原来命名长度限制是不一样的,摘录如下:
?
| 数据库 |
表名长度限制 |
字段名长度限制 |
| oracle |
30 |
30 |
| mysql |
64 |
64 |
| db2 |
128 |
128 |
| access |
64 |
64 |
| sqlserver |
128 |
128 |
?