DM7对于各类数据库表名与字段名的长度限制要求
本篇内容介绍了“DM7对于各类数据库表名与字段名的长度限制要求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一 问题
业务升级过程中,涉及到数据库结构的更改,对于某些表的字段进行了重命名,在修改表的字段名的过程中,遇到了“标志符长度非法”的问题,如下图所示:
这里先说明一下,对于DM7数据库,表名、字段名等对象命名字节个数限制在了128个字节,是无法更改的!具体参见《DM7_SQL语言使用手册》中的3.6.1 基表定义语句中的说明,摘录如下:
表名的要求:
<表名> 指明被创建的基表名,基表名最大长度 128 字节;如果是分区表,主表名和分区名遵循“主表名+分区名”总长度不大于 128 字节。列名的要求:
<列名> 指明基表中的列名,列名最大长度 128 字节;
其实,我们通过查看DM7数据库的动态性能视图就可以得出结论:
SQL> desc USER_TAB_COLS
行号 name type$ nullable
---------- --------------- ------------ --------
1 TABLE_NAME VARCHAR(128) N
2 COLUMN_NAME VARCHAR(128) N
3 DATA_TYPE VARCHAR(128) N
4 DATA_TYPE_MOD VARCHAR(3) Y
5 DATA_TYPE_OWNER VARCHAR(128) Y
6 DATA_LENGTH NUMBER Y
7 DATA_PRECISION NUMBER Y
8 DATA_SCALE NUMBER Y
9 NULLABLE VARCHAR(1) Y
10 COLUMN_ID NUMBER Y
11 DEFAULT_LENGTH NUMBER Y
行号 name type$ nullable
---------- -------------------- ------------- --------
12 DATA_DEFAULT TEXT Y
13 NUM_DISTINCT NUMBER Y
14 LOW_VALUE VARBINARY(32) Y
15 HIGH_VALUE VARBINARY(32) Y
16 DENSITY NUMBER Y
………………………… 此处省略过多的输出
在上面的输出中,我们很明显的就可以看出,DM7对于表名与列名的长度限制;当然,在实际生产环境中,很难碰到表的列名超过128个字节的情况,除非……(各位脑补吧);
二 总结
总结一下,对于各类数据库表名与字段名的长度限制要求,具体如下:
数据库 | 表名长度限制 | 字段名长度限制 |
---|---|---|
oracle | 30 | 30 |
mysql | 64 | 64 |
db2 | 128 | 128 |
access | 64 | 64 |
sqlserver | 128 | 128 |
dm7 | 128 | 128 |
dm8 | 128 | 128 |
“DM7对于各类数据库表名与字段名的长度限制要求”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341