千家信息网

DM7对于各类数据库表名与字段名的长度限制要求

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本篇内容介绍了"DM7对于各类数据库表名与字段名的长度限制要求"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2024年11月27日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) N2          COLUMN_NAME     VARCHAR(128) N3          DATA_TYPE       VARCHAR(128) N4          DATA_TYPE_MOD   VARCHAR(3)   Y5          DATA_TYPE_OWNER VARCHAR(128) Y6          DATA_LENGTH     NUMBER       Y7          DATA_PRECISION  NUMBER       Y8          DATA_SCALE      NUMBER       Y9          NULLABLE        VARCHAR(1)   Y10         COLUMN_ID       NUMBER       Y11         DEFAULT_LENGTH  NUMBER       Y行号       name                 type$         nullable---------- -------------------- ------------- --------12         DATA_DEFAULT         TEXT          Y13         NUM_DISTINCT         NUMBER        Y14         LOW_VALUE            VARBINARY(32) Y15         HIGH_VALUE           VARBINARY(32) Y16         DENSITY              NUMBER        Y………………………… 此处省略过多的输出

在上面的输出中,我们很明显的就可以看出,DM7对于表名与列名的长度限制;当然,在实际生产环境中,很难碰到表的列名超过128个字节的情况,除非……(各位脑补吧);

二 总结

总结一下,对于各类数据库表名与字段名的长度限制要求,具体如下:

数据库表名长度限制字段名长度限制
oracle3030
mysql6464
db2128128
access6464
sqlserver128128
dm7128128
dm8128128

"DM7对于各类数据库表名与字段名的长度限制要求"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0