×

oracle

在已有数据的表中,修改数据库字段varchar2为clob

我的笔记 我的笔记 发表于2019-02-13 14:59:24 浏览3342 评论0

抢沙发发表评论

问题:

    由于客户最近在填写一个文本域时填的汉字大于2000个汉字,我们数据库都是设置的varchar2(4000),无奈,需要保持原有数据的基础上改成clob数据类型。

    tip:我只在oracle上做了测试。

解决办法:

--修改原字段名  
ALTER TABLE p_trade_base_info RENAME COLUMN vc_triggerevent TO vc_triggerevent_bak;
--添加一个和原字段同名的字段  
ALTER TABLE p_trade_base_info ADD vc_triggerevent CLOB;  
--将原来的数据更新到新字段中,这是要注意,一定要显示进行数据类型转换(不同于MSSQL)  
UPDATE p_trade_base_info SET vc_triggerevent = CAST(vc_triggerevent_bak AS varchar2(4000));
--删除原来的备份字段  
ALTER TABLE p_trade_base_info DROP COLUMN vc_triggerevent_bak;


我的笔记博客版权我的笔记博客版权