Oracle用blob字段插入仍旧报错ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值是什

Oracle用blob字段插入仍旧报错ORA-01461:仅能绑定要插入LONG列的LONG值是什么原因?... Oracle用blob字段插入仍旧报错ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值是什么原因? 展开
 我来答
加aab6014微信
2017-07-05 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:10.3万
展开全部

参考下面的步骤
--clob测试表
create table t_clob(seq int,str clob);
insert into t_clob select rownum ,rpad('a',4000,'*') str from dual connect by rownum<=10;
update t_clob set str=str||rpad('b',4000,'*')||rpad('c',4000,'*');
commit;
select * from t_clob;
 
--源数据库
--1.将clob字段的数据按4000转为多行保存到临时表中
create table t_clob_bak as 
SELECT seq,cast(substr(str,(level-1)*4000,4000) as varchar2(4000)) str
  FROM t_clob
CONNECT BY LEVEL <= trunc(length(str) / 4000)
       AND PRIOR seq = seq
       AND prior dbms_random.value IS NOT NULL;
select * from t_clob_bak;
--2.将t_clob_bak 导出t_clob_bak.sql文件(create+insert脚本)
 
--目标数据库
--1.执行t_clob_bak.sql,创建和导入临时表数据
--2.执行下面sql,将临时表数据转换到正式表t_clob
insert into t_clob 
SELECT seq, str
  FROM (SELECT seq,
               wm_concat(str) over(PARTITION BY seq ORDER BY rownum) str,
               row_number() over(PARTITION BY seq ORDER BY rownum DESC) rn
          FROM t_clob_bak)
WHERE rn = 1;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式