您好,登錄后才能下訂單哦!
本篇內容介紹了“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對于各類數據庫表名與字段名的長度限制要求”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。