共計 1282 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇內(nèi)容介紹了“DM7 對于各類數(shù)據(jù)庫表名與字段名的長度限制要求”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
一 問題
業(yè)務(wù)升級過程中,涉及到數(shù)據(jù)庫結(jié)構(gòu)的更改,對于某些表的字段進行了重命名,在修改表的字段名的過程中,遇到了“標志符長度非法”的問題,如下圖所示:
這里先說明一下,對于 DM7 數(shù)據(jù)庫,表名、字段名等對象命名字節(jié)個數(shù)限制在了 128 個字節(jié), 是無法更改的!具體參見《DM7_SQL 語言使用手冊》中的 3.6.1 基表定義語句中的說明,摘錄如下:
表名的要求:
表名 指明被創(chuàng)建的基表名,基表名最大長度 128 字節(jié);如果是分區(qū)表,主表名和分區(qū)名遵循“主表名 + 分區(qū)名”總長度不大于 128 字節(jié)。
列名的要求:
列名 指明基表中的列名,列名最大長度 128 字節(jié);
其實,我們通過查看 DM7 數(shù)據(jù)庫的動態(tài)性能視圖就可以得出結(jié)論:
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 對于表名與列名的長度限制;當然,在實際生產(chǎn)環(huán)境中,很難碰到表的列名超過 128 個字節(jié)的情況,除非……(各位腦補吧);
二 總結(jié)
總結(jié)一下,對于各類數(shù)據(jù)庫表名與字段名的長度限制要求,具體如下:
數(shù)據(jù)庫表名長度限制字段名長度限制 oracle3030mysql6464db2128128access6464sqlserver128128dm7128128dm8128128
“DM7 對于各類數(shù)據(jù)庫表名與字段名的長度限制要求”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實用文章!