解决:批量插入数据到Oracle的clob字段:ORA-01461仅能绑定要插入LONG列的LONG值

https://blog.csdn.net/benjaminlee1/article/details/73746075

今天用MyBatis批量插入数据到Oracle中,其中有字段的类型为clob,出现错误:ORA-01461:仅能绑定要插入LONG列的LONG值,xml中SQL语句如下:

   
    insert into tableName (ID, LAST_MODIFIED, content)
     
        select #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS') ,#{item.content} from dual 
     
    

其中content字段在数据库中是clob类型。 

在网上查了很久,有可能问题是出现在当从dual中取数据时,会将clob对象的字段转为Long型。

最后的解决方法用到了begin和end语法:

    
    begin
    
       insert into tableName(ID, LAST_MODIFIED, content) 
       values( #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS'),#{item.content})
     
    ;end;
  

成功插入了多条包含Clob的数据。

你可能感兴趣的:(Oracle)