Oracle学习笔记:LOB大数据字段类型

发现问题:导入字符长度过长,无法导入?

1.varchar2(100)类型

存储字符数据

Oracle Database 最大值为4000

PL/SQL 最大值为32767

大数据类型LOB(Large Object 大型对象)

2.LOB类型

能容纳4Gb数据

一个表中可以有多个这种类型的字段

分类:

  • BLOB:二进制大型对象(Binary Large Object)非文本的字节流数据(程序、图像、影音等)
  • CLOB:字符型大型对象(Character Large Object)字符集、文本型数据

3.使用

普通查询看不到 CLOB 类型的字段类型

普通插入也会因为 Oracle 的隐式转换,默认把字符串转换成varchar2类型,一旦字符串长度超过4000,则报“ora-01704”错误。

4.常用语法

1 dbms_lob.createtemporary(V_SQL,true);     --创建一个临时clob,用来存储拼接的sql

2 dbms_lob.write(v_SQL,'写入信息');          --写入操作

3 dbms_lob.append(v_SQL,',');               --拼接clob

4 dbms_lob.substr(v_SQL);                   --截取clob,不传参数就是全部读取

5 dbms_lob.freetemporary(v_SQL);            --释放clob

5.总结

虽然CLOB能解决字符大小的限制,但效率不高,大文件还是应该放在服务器,然后Database中存响应地址即可。

参考链接:Oracle的CLOB大数据字段类型

原文地址:https://www.cnblogs.com/hider/p/14234019.html