目录
前言
在项目实施开发过程中,我们经常会遇到字段长度不够的问题,特别是和第三方系统集成后,经常碰到字段超长问题。接下来我们详细介绍下修改元数据字段长度过程,本篇以清单发包合同扩展自定义项长度(400)为例说明。
1、更改表字段长度
可修改数据库表的字段长度,通过SQL语句或者SQL工具如PLSQL,Navicat直接修改表结构。
alter table pm_contr modify hdef53 varchar2(400);
2、查询元数据信息
通过表名@@@字段名条件查询元数据信息。
select * from MD_COLUMN where id = 'pm_contr@@@hdef53';
3、修改元数据字段长度
修改元数据字段长度,条件同第二步查询。
update MD_COLUMN set columnlength = 400 where id = 'pm_contr@@@hdef53';
4、查询实体表里ID值
通过默认表名查询实体信息,为修改做准备,也可将第四步第五步合为一步执行。
SELECT ID FROM MD_CLASS WHERE DEFAULTTABLENAME='pm_contr';
5、修改实体属性表
修改实体属性表里对应字段长度。
UPDATE MD_PROPERTY SET ATTRLENGTH=400 WHERE CLASSID = '8c6b075c-c432-4478-811f-39143f45b971' AND NAME = 'hdef53' AND DR = 0 ;
6、重启中间件
因修改元数据信息(数据表),需重启服务器NC服务才能生效。
7、单据模板初始化
以集团管理员身份登录NC,打开单据模板初始化功能,找到清单发包合同点击修改。找到字段,并修改属性里的录入长度。哪个模板需要则修改对应模板。
结语
元数据长度修改相对于其他类开发相对简单。但是修改元数据时,尤其是SQL部分需额外注意,一定不能修改错误。如果误执行SQL,可使用ORACLE时间戳查询,查找之前时间段内表数据并恢复,使用语句如下。
SELECT * FROM 查询表名 AS OF TIMESTAMP TO_TIMESTAMP('2024-01-26 08:00:00','yyyy-mm-dd hh24:mi:ss') WHERE 条件语句;
本文详细介绍了在项目开发中如何处理字段长度不足的问题,包括如何通过SQL修改数据库表字段长度,查询和修改元数据,以及注意事项如重启中间件和单据模板初始化。还提到误操作后的数据恢复方法。
523

被折叠的 条评论
为什么被折叠?



