精华内容
下载资源
问答
  • oracle表名长度限制

    2014-11-25 14:11:42
    oracle标识符长度限制是最大30个,包括表名,序列名,触发器名等等 表名 列名 mysql 64 64 oracle 30 ...

     

    oracle标识符长度限制是最大30个,包括表名,序列名,触发器名等等

     

                                表名                  列名  

       mysql                 64                     64

       oracle                 30                     30

       db2                   128                   128

       access                64                     64

       mssql                128                   128

    展开全文
  • 1、在新建oracle表的时候,经过查找相关资料oracle表名的最大长度是30,我加上了0331正好是30,多加2为就32了,当然报错了。 2、同时有网友说看看desc user_tables,看table_name字段的定义也可以发现,这个很有道理...

    Oracle实用操作(三)oracle 表名长度的限制
    1、在新建oracle表的时候,经过查找相关资料oracle表名的最大长度是30,我加上了0331正好是30,多加2为就32了,当然报错了。
    在这里插入图片描述
    2、同时有网友说看看desc user_tables,看table_name字段的定义也可以发现,这个很有道理,于是我看了一把.
    在这里插入图片描述
    这么看来,表空间名最大长度也是30 。看来oracle对30,情有独钟嘛。

    展开全文
  • oracle 表名 添加注释

    万次阅读 2019-09-20 15:59:32
    oracle 表名 添加注释 COMMENT ON TABLE EMP IS '雇员表';

                                  oracle 表名 添加注释

    COMMENT ON TABLE EMP IS '雇员表';

     

    展开全文
  • oracle表名 字段名等对象的命名长度限制

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

    深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45854385

     

    今天在为某系统数据库结构整理升级脚本时,遇到了“命名字节过长的错误”,类似于下面的截图语句:

            由于升级的结构中对于字段名的命名根据业务进行了修改,出现了命名过长的情况。

    这里想说一下,对于oracle,表名、字段名等对象命名字节个数限制在了30个字节!是无法更改的,这是oracle的固化设置。

            我们可以通过查看数据库字典进一步验证一下。先思考一下,哪里可以获得关于这类命名的信息呢?有没有想到USER_TAB_COLUMNS,USER_CONSTRAINTS这一类的视图。我们来做一个验证。

    实验:

            在sys用户下,查看user_tables这个视图,可以发现在table_name这个字段,类型为varchar,长度为30,这里记录的表的名称,如下:

    再进一步查看视图的结构,如下:

    create or replace view user_tables(table_name, tablespace_name, cluster_name, iot_name, status, pct_free, pct_used, ini_trans, max_trans, initial_extent, next_extent, min_extents, max_extents, pct_increase, freelists, freelist_groups, logging, backed_up, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, avg_space_freelist_blocks, num_freelist_blocks, degree, instances, cache, table_lock, sample_size, last_analyzed, partitioned, iot_type, temporary, secondary, nested, buffer_pool, flash_cache, cell_flash_cache, row_movement, global_stats, user_stats, duration, skip_corrupt, monitoring, cluster_owner, dependencies, compression, compress_for, dropped, read_only, segment_created, result_cache)asselect o.name,       decode(bitand(t.property,2151678048), 0, ts.name,              decode(t.ts#, 0, null, ts.name)),       decode(bitand(t.property, 1024), 0, null, co.name),       decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),              0, null, co.name),       decode(bitand(t.trigflag, 1073741824), 1073741824, 'UNUSABLE', 'VALID'),       decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),       decode(bitand(ts.flags, 32), 32, to_number(NULL),          decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)),       decode(bitand(t.property, 32), 0, t.initrans, null),       decode(bitand(t.property, 32), 0, t.maxtrans, null),       decode(bitand(t.property, 17179869184), 17179869184,                     ds.initial_stg * ts.blocksize,                     s.iniexts * ts.blocksize),       decode(bitand(t.property, 17179869184), 17179869184,              ds.next_stg * ts.blocksize,              s.extsize * ts.blocksize),       decode(bitand(t.property, 17179869184), 17179869184,              ds.minext_stg, s.minexts),       decode(bitand(t.property, 17179869184), 17179869184,              ds.maxext_stg, s.maxexts),       decode(bitand(ts.flags, 3), 1, to_number(NULL),              decode(bitand(t.property, 17179869184), 17179869184,                            ds.pctinc_stg, s.extpct)),       decode(bitand(ts.flags, 32), 32, to_number(NULL),         decode(bitand(o.flags, 2), 2, 1,                decode(bitand(t.property, 17179869184), 17179869184,                       ds.frlins_stg, decode(s.lists, 0, 1, s.lists)))),       decode(bitand(ts.flags, 32), 32, to_number(NULL),         decode(bitand(o.flags, 2), 2, 1,                decode(bitand(t.property, 17179869184), 17179869184,                       ds.maxins_stg, decode(s.groups, 0, 1, s.groups)))),       decode(bitand(t.property, 32+64), 0,                decode(bitand(t.flags, 32), 0, 'YES', 'NO'), null),       decode(bitand(t.flags,1), 0, 'Y', 1, 'N', '?'),       t.rowcnt,       decode(bitand(t.property, 64), 0, t.blkcnt, null),       decode(bitand(t.property, 64), 0, t.empcnt, null),       decode(bitand(t.property, 64), 0, t.avgspc, null),       t.chncnt, t.avgrln, t.avgspc_flb,       decode(bitand(t.property, 64), 0, t.flbcnt, null),       lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),       lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),       lpad(decode(bitand(t.flags, 8), 8, 'Y', 'N'),5),       decode(bitand(t.flags, 6), 0, 'ENABLED', 'DISABLED'),       t.samplesize, t.analyzetime,       decode(bitand(t.property, 32), 32, 'YES', 'NO'),       decode(bitand(t.property, 64), 64, 'IOT',               decode(bitand(t.property, 512), 512, 'IOT_OVERFLOW',               decode(bitand(t.flags, 536870912), 536870912, 'IOT_MAPPING', null))),       decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),       decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),       decode(bitand(t.property, 8192), 8192, 'YES',              decode(bitand(t.property, 1), 0, 'NO', 'YES')),       decode(bitand(o.flags, 2), 2, 'DEFAULT',              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,                            ds.bfp_stg, s.cachehint), 3),                            1, 'KEEP', 2, 'RECYCLE', 'DEFAULT')),       decode(bitand(o.flags, 2), 2, 'DEFAULT',              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,                            ds.bfp_stg, s.cachehint), 12)/4,                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),       decode(bitand(o.flags, 2), 2, 'DEFAULT',              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,                            ds.bfp_stg, s.cachehint), 48)/16,                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),       decode(bitand(t.flags, 131072), 131072, 'ENABLED', 'DISABLED'),       decode(bitand(t.flags, 512), 0, 'NO', 'YES'),       decode(bitand(t.flags, 256), 0, 'NO', 'YES'),       decode(bitand(o.flags, 2), 0, NULL,           decode(bitand(t.property, 8388608), 8388608,                  'SYS$SESSION', 'SYS$TRANSACTION')),       decode(bitand(t.flags, 1024), 1024, 'ENABLED', 'DISABLED'),       decode(bitand(o.flags, 2), 2, 'NO',           decode(bitand(t.property, 2147483648), 2147483648, 'NO',              decode(ksppcv.ksppstvl, 'TRUE', 'YES', 'NO'))),       decode(bitand(t.property, 1024), 0, null, cu.name),       decode(bitand(t.flags, 8388608), 8388608, 'ENABLED', 'DISABLED'),       case when (bitand(t.property, 32) = 32) then         null       when (bitand(t.property, 17179869184) = 17179869184) then         decode(bitand(ds.flags_stg, 4), 4, 'ENABLED', 'DISABLED')       else         decode(bitand(s.spare1, 2048), 2048, 'ENABLED', 'DISABLED')       end,       case when (bitand(t.property, 32) = 32) then         null       when (bitand(t.property, 17179869184) = 17179869184) then          decode(bitand(ds.flags_stg, 4), 4,          case when bitand(ds.cmpflag_stg, 3) = 1 then 'BASIC'               when bitand(ds.cmpflag_stg, 3) = 2 then 'OLTP'               else decode(ds.cmplvl_stg, 1, 'QUERY LOW',                                          2, 'QUERY HIGH',                                          3, 'ARCHIVE LOW',                                             'ARCHIVE HIGH') end,               null)       else         decode(bitand(s.spare1, 2048), 0, null,         case when bitand(s.spare1, 16777216) = 16777216   -- 0x1000000                   then 'OLTP'              when bitand(s.spare1, 100663296) = 33554432  -- 0x2000000                   then 'QUERY LOW'              when bitand(s.spare1, 100663296) = 67108864  -- 0x4000000                   then 'QUERY HIGH'              when bitand(s.spare1, 100663296) = 100663296 -- 0x2000000+0x4000000                   then 'ARCHIVE LOW'              when bitand(s.spare1, 134217728) = 134217728 -- 0x8000000                   then 'ARCHIVE HIGH'              else 'BASIC' end)       end,       decode(bitand(o.flags, 128), 128, 'YES', 'NO'),       decode(bitand(t.trigflag, 2097152), 2097152, 'YES', 'NO'),       decode(bitand(t.property, 17179869184), 17179869184, 'NO',              decode(bitand(t.property, 32), 32, 'N/A', 'YES')),       decode(bitand(t.property,16492674416640),2199023255552,'FORCE',                     4398046511104,'MANUAL','DEFAULT')from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,     sys.deferred_stg$ ds, sys.obj$ cx, sys.user$ cu, x$ksppcv ksppcv,     x$ksppi ksppiwhere o.owner# = userenv('SCHEMAID')  and o.obj# = t.obj#  and bitand(t.property, 1) = 0  and bitand(o.flags, 128) = 0  and t.bobj# = co.obj# (+)  and t.ts# = ts.ts#  and t.file# = s.file# (+)  and t.block# = s.block# (+)  and t.ts# = s.ts# (+)  and t.obj# = ds.obj# (+)  and t.dataobj# = cx.obj# (+)  and cx.owner# = cu.user# (+)  and ksppi.indx = ksppcv.indx  and ksppi.ksppinm = '_dml_monitoring_enabled';comment on table USER_TABLES is 'Description of the user''s own relational tables';comment on column USER_TABLES.TABLE_NAME is 'Name of the table';comment on column USER_TABLES.TABLESPACE_NAME is 'Name of the tablespace containing the table';comment on column USER_TABLES.CLUSTER_NAME is 'Name of the cluster, if any, to which the table belongs';comment on column USER_TABLES.IOT_NAME is 'Name of the index-only table, if any, to which the overflow or mapping table entry belongs';comment on column USER_TABLES.STATUS is 'Status of the table will be UNUSABLE if a previous DROP TABLE operation failed,VALID otherwise';comment on column USER_TABLES.PCT_FREE is 'Minimum percentage of free space in a block';comment on column USER_TABLES.PCT_USED is 'Minimum percentage of used space in a block';comment on column USER_TABLES.INI_TRANS is 'Initial number of transactions';comment on column USER_TABLES.MAX_TRANS is 'Maximum number of transactions';comment on column USER_TABLES.INITIAL_EXTENT is 'Size of the initial extent in bytes';comment on column USER_TABLES.NEXT_EXTENT is 'Size of secondary extents in bytes';comment on column USER_TABLES.MIN_EXTENTS is 'Minimum number of extents allowed in the segment';comment on column USER_TABLES.MAX_EXTENTS is 'Maximum number of extents allowed in the segment';comment on column USER_TABLES.PCT_INCREASE is 'Percentage increase in extent size';comment on column USER_TABLES.FREELISTS is 'Number of process freelists allocated in this segment';comment on column USER_TABLES.FREELIST_GROUPS is 'Number of freelist groups allocated in this segment';comment on column USER_TABLES.LOGGING is 'Logging attribute';comment on column USER_TABLES.BACKED_UP is 'Has table been backed up since last modification?';comment on column USER_TABLES.NUM_ROWS is 'The number of rows in the table';comment on column USER_TABLES.BLOCKS is 'The number of used blocks in the table';comment on column USER_TABLES.EMPTY_BLOCKS is 'The number of empty (never used) blocks in the table';comment on column USER_TABLES.AVG_SPACE is 'The average available free space in the table';comment on column USER_TABLES.CHAIN_CNT is 'The number of chained rows in the table';comment on column USER_TABLES.AVG_ROW_LEN is 'The average row length, including row overhead';comment on column USER_TABLES.AVG_SPACE_FREELIST_BLOCKS is 'The average freespace of all blocks on a freelist';comment on column USER_TABLES.NUM_FREELIST_BLOCKS is 'The number of blocks on the freelist';comment on column USER_TABLES.DEGREE is 'The number of threads per instance for scanning the table';comment on column USER_TABLES.INSTANCES is 'The number of instances across which the table is to be scanned';comment on column USER_TABLES.CACHE is 'Whether the table is to be cached in the buffer cache';comment on column USER_TABLES.TABLE_LOCK is 'Whether table locking is enabled or disabled';comment on column USER_TABLES.SAMPLE_SIZE is 'The sample size used in analyzing this table';comment on column USER_TABLES.LAST_ANALYZED is 'The date of the most recent time this table 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

     

    原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

    深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45854385 

     

    系列链接:

    蓝的成长记——追逐DBA(1):奔波于路上,挺进山东 

    蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知

    蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题 

    蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g) 

    蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

    蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

    蓝的成长记——追逐DBA(7):基础命令,地基之石 

    蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验

    蓝的成长记— —追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

    蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere 

    蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来 

    蓝的成长记——追逐DBA(12):七天七收获的SQL

    蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”

    蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署 

    蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • ORACLE表名命名规则

    万次阅读 2017-05-10 11:43:31
    ORACLE表名命名规则 1、必须以字母开头2、长度不能超过30个字符3、避免使用Oracle的保留字4、只能使用如下字符 A-Z,a-z,0-9,#$等
  • POWERDESIGNER生成oracle表名带有引号
  • Oracle表名、列名、约束名的长度限制 1、查询用户所有的表 select * from USER_TABLES; 2、查询用户所有表的列 select * from USER_TAB_COLUMNS; 3、查询用户所有的约束 select * from USER_CONSTRAINTS; 4、...
  • 原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。 深蓝的blog: ...这里想说一下,对于oracle表名、字段名等对象命名字节个数限制在了30个字节!是
  • 关于oracle表名区分大小写的问题

    千次阅读 2017-04-08 12:44:11
    oracle表名区分大小写问题
  • ORACLE表名的大小写

    千次阅读 2018-01-30 02:44:19
    我们都知道,Oracle数据库对表名、字段名的大小写是不敏感的。 比如用以下语句(全部用小写字母)创建一个表,可以看到数据字典里存放的都是大写字母: 然而,Oracle也是可以做到对表名、字段名或其他对象名称...
  • 查询ORACLE表名 注释

    2017-01-06 17:26:36
    //查询表名 注释 select a.table_name,b.comments from user_tables a,ALL_TAB_COMMENTS b where a.table_name=b.table_name and owner='USER_PLAT_SERVER' ORDER BY A.TABLE_NAME
  • oracle表名,字段名的长度限制

    千次阅读 2016-03-07 23:13:39
    对于oracle表名、字段名等对象命名字节个数限制在了30个字节!是无法更改的,这是oracle的固化设置 以下为各种数据库的对象长度限制 数据库 表名长度限制 字段名...
  • 主要介绍了Oracle数据库表名支持的最大长度,本文通过Oracle标识符确认了表名的最大支持字符串为30个字符,需要的朋友可以参考下
  • ORACLE表名最大长度是多少

    千次阅读 2017-07-21 14:55:04
    标识符,即用户自定义的关键词,比较表名、字段名、视图名、序列名、主键等,表名也属于标识符,最大长度在Oracle中是30个字符
  • oracle 表名中包含中文如何删除

    千次阅读 2016-12-23 13:10:36
    今天,在oracle导入dmp后,查询了一下user_tables, select * fom user_tables; 发现个别表名创建的时候存在问题 如: PX02(调查问卷明细表)    直接删除: drop table PX02(调查问卷明细表) ;--失败   ...
  • select table_name from user_tables where upper(table_name)=upper('user'); drop table "USER";表名占用关键字解决
  • 如何恢复oracle表名

    2012-12-27 02:48:20
    小弟初学,用navicat访问oracle,不小心把oracle中的一个表的名修改了,悲剧的是不知道原来表名是什么,求大神指点,如何恢复
  • oracle 表名大小写敏感

    2020-03-28 17:47:51
    oracle竟然连表大小写都是敏感的。 mysql字段都不敏感啊。 加双引号才能找到小写表。
  • SELECT T.table_name, LENGTH(TRIM(T.table_name)) FROM user_tables t ORDER BY LENGTH(TRIM(t.table_name)) DESC;...SELECT COUNT(t.table_name) 表名超长的表数量 FROM user_tables T WHERE LENGTH(TR...
  • oracle 表名 、字段名 默认不区分大小写,除非建表语句中带双引号 如CREATE TABLE "TableName"("ID" number)。 CREATE TABLE tablename (ID number); 在查询的时候表名可以任意大小写。 create table table_name...
  • 注:以下脚本在oracle 10g,11g上正确执行 批量将表名变为大写 begin for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop begin execute immediate 'alter table...
  • oracle 表名 双引号 删除

    千次阅读 2012-10-26 09:07:02
    oracle10g中,建表的时候没注意,用别人发给我的sql直接创建的,创建之后发现 select * from 表名 ;提示表或视图不存在 后来仔细查看发现是在create的时候,表名和字段名都被加上了双引号,那建错了就重建吧,...
  • 标题例如:select * from dim.dim_area_no@to_dw @后是实例名或数据源 举个例子,服务器上创建了2个数据库实例,名称分别为HR、BOSS, ...我知道abc_timer_ms是表名,但是为什么后面要加@kxy ? 是DB
  • select table_name from user_tables where table_name LIKE '%TABLENAMESTRING%';
  • Navicat for Oracle 表名不存在 ORA00903

    千次阅读 2015-09-20 14:35:00
    实验室的机子有一台被拿来重装系统当做服务器用,oracle数据库什么的都搭在上面,最近在学JDBC,果断拿Oracle练手 远程访问的数据库管理软件使用了Navicat,在语句中输入 String sql = "insert into MyUser...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,073
精华内容 44,429
关键字:

oracle表名过长