这是因为达梦里面一个表中所有的列(大字段除外)的长度加起来不能超过页大小的一半。
比如安装时页大小为8k,那么一行记录的长度除大字段外所有列加起来不能超过4k
select page(); --8192
create table test(c1 int,c2 varchar(2000),c3 varchar(2000)); --可创建成功
insert into test values(1,LPAD('a',2000),'a'); --未超过4k,可以插入成功
insert into test values(2,LPAD('a',2000),LPAD('a',2000)); --超过4k,报错:记录超长
update test set c3=LPAD('a',2000) where c1=1; --更新操作导致记录超长,报错

初始化数据库实例的时候,要注意页大小的选择,上面的例子,可以选择页大小为16K。
select page(); --16384
create table test(c1 int,c2 varchar(2000),c3 varchar(2000)); --可创建成功
insert into test values(1,LPAD('a',2000),'a'); --未超过8k,可以插入成功
insert into test values(2,LPAD('a',2000),LPAD('a',2000)); ----未超过8k,可以插入成功
update test set c3=LPAD('a',2000) where c1=1; ----未超过8k,可以更新成功