Oracle 处理Clob字段的方案

问题产生的原因:

  当更新一个Clob字段的时候,假设字段为field,如果直接用update table set field = value,value字段的长度小于4000是被允许更新的。因为在oracle里面,单引号内的值是被允许在4000以内的,默认value的值是varchar。当大于4000以后就超出了varchar的最大范围,报ORA-01489的错误,当遇到字段大于4000长度的字符需要特殊处理

处理步骤:

1.首先对大于4000字符的设置空值

如图:

Oracle 处理Clob字段的方案

2.将对应的字段提取出来

如图:

Oracle 处理Clob字段的方案

3.用baseDao.saveClob的方法去保存数据

如图:Oracle 处理Clob字段的方案