Oracle 字符串文字太长

表 A 中有个字段为 备注 remark,用户在添加备注的时候超过4000个中文字符,保存到数据库的时候失败!

  

这个时候就需要对字段做一个拓展,拓展为

  1. LONG    超长字符串
  2. NCLOB    根据字符集而定的字符数据
  3. CLOB    字符数据

本例就以LONG为例做一个示范.

第一步:新增一个为LONG类型的新字段remarkbak

alter table A add remarkbak long;

第二步:备份数据到新列remarkbak

update A set remarkbak=remark;

第三步:用PL/SQL结构语句更新需要设置的字段

DECLARE  
  LongValue A.remarkbak%type;  
BEGIN  
  LongValue := '很长很长的一段字符串,emmmm,我非常的长~';
  UPDATE A  SET remarkbak = LongValue where id='xxxx';  
  COMMIT;  
END;

第四步:删除旧的字段

alter table A drop column remark;

第五步:重命名新字段为旧字段名

alter table A rename column remarkbak to remark;

猜你喜欢

转载自blog.csdn.net/qq2523208472/article/details/81181451