oracle如何导出具有clob字段类型的sql?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle如何导出具有clob字段类型的sql?相关的知识,希望对你有一定的参考价值。

我擦,clob类型也只不过是个类型而已。搞那么复杂做啥。和普通字段一样查询就行了:select t.那个clob的字段名 from 表名 t科普一下:oracle有clob和blobl两种大对象类型的数据类型。clob是存字符的(可以认为是超大容量的varchar类型,最大存储4G)。blob是存二进制的。要注意的是带有clob、blob类型的表时不能导出sql文件,sql文件只能导出小对象类型。 参考技术A sql没戏,但是考虑一下dmp 参考技术B CLOB属于大对象类型,sql是导不出的。“guo9130guo”写的是从XML文件读到clob里。还是建议你导出dmp文件。实在得用sql的话,就建议你导出excel文件。然后使用excel导出任何你导入的库或者直接使用。 参考技术C 只能全表导出来自:求助得到的回答 参考技术C dpexp需要使用数据泵了。

如何通过sql的insert语句插入大量字符串到oracle的clob字段?

当通过insert语句直接插入大量字符串(主要是html的内容),超过4000字符时候,就会报:

ORA-01489: 字符串连接的结果过长

虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型,

oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。

解决思路:指定待插入字符串类型为clob,可以使用过程或存储过程

例子:

DECLARE
 REALLYBIGTEXTSTRING CLOB := ‘待插入的海量字符串‘;
BEGIN

   INSERT INTO test_table VALUES(‘test‘, REALLYBIGTEXTSTRING, ‘0‘);
end ;
/

commit;

这样就可以解决问题。

以上是关于oracle如何导出具有clob字段类型的sql?的主要内容,如果未能解决你的问题,请参考以下文章

SQL 导出表的问题?字段类型为啥会改变~

oracle怎么导出含有Clob大数据字段类型的表

php如何读取clob字段

oracle修改字段类型由varchar2修改为clob类型

DB2中如何将一个clob类型的字段改为varchar类型

oracle 导出超长Clob字段insert语句执行报字段过长的问题解决方案