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?的主要内容,如果未能解决你的问题,请参考以下文章