ORACLE LOB 大对象处理.docxVIP

  • 4
  • 0
  • 约7.28千字
  • 约 11页
  • 2016-12-21 发布于北京
  • 举报
LOB大对象处理: 主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。 主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。一. Oracle中的LOB数据类型分类1,按存储数据的类型分:①字符类型:CLOB:存储大量 单字节 字符数据。NLOB:存储定宽 多字节 字符数据。②二进制类型:BLOB:存储较大无结构的二进制数据。③二进制文件类型:BFILE:将二进制文件存储在数据库外部的操作系统文件中。存放文件路径。2,按存储方式分:①存储在内部表空间:CLOB,NLOB和BLOB②指向外部操作系统文件:BFILE二,大对象数据的录入2.1,声明LOB类型列Create TableSpace Dave DataFile D:/Dave/dave.dbf Size 20m;Create Table tLob (no Number(4),name VarChar2(10),resume CLob,photo BLob,record BFile)Lob (resume,photo)Store As (Tablespace dave --指定存储的表空间Chunk 6k --指定数据块大小Disable Storage In Row);2,插入大对象列①先插入普通列数据②遇到大对象列时,插入空白构造函数。字符型:empty_clob(),empty_nclob()二进制型:empty_blob()二进制文件类型:BFileName函数指向外部文件。BFileName函数:BFileName(‘逻辑目录名’,‘文件名’);逻辑目录名只能大写,因为数据词典是以大写方式存储。Oracle是区分大小写的。在创建时,无需将BFileName函数逻辑目录指向物理路径,使用时才做检查二者是否关联。③将逻辑目录和物理目录关联。(如果是二进制文件类型)授予CREATE ANY DIRECTORY 权限Grant CREATE ANY DIRECTORY TO 用户名WITH ADMIN OPTION;关联逻辑目录和物理目录本地Create Directory 逻辑目录名 As ‘文件的物理目录’;网络:Create Directory 逻辑目录名 As ‘//主机名(IP)/共享目录’;例子:Create Directory MYDIR As D:/Dave;插入例子:/* Formatted on 2009-12-24 17:27:00 (QP5 v5.115.810.9015) */INSERT INTO tlobVALUES (1,Dave,CLOB大对象列,EMPTY_BLOB (),BFILENAME (MYDIR, Dave.jpg));INSERT INTO tlobVALUES (2,Dave,CLOB大对象列,EMPTY_BLOB (),BFILENAME (MYDIR, Dave.jpg));INSERT INTO tlobVALUES (3,Dave,CLOB大对象列,EMPTY_BLOB (),BFILENAME (MYDIR, Dave.jpg));三,大对象数据的读取和操作:DBMS_LOB包DBMS_LOB包:包含处理大对象的过程和函数1,读取大对象数据的过程和函数①:DBMS_LOB.Read():从LOB数据中读取指定长度数据到缓冲区的过程。DBMS_LOB.Read(LOB数据,指定长度,起始位置,存储返回LOB类型值变量);例子:/* Formatted on 2009-12-24 17:25:01 (QP5 v5.115.810.9015) */DECLAREvarC CLOB;vRStr VARCHAR2 (1000);LN NUMBER (4);Strt NUMBER (4);BEGINSELECT resumeINTO varCFROM tlobWHERE no = 1;LN := DBMS_LOB.GetLength (varC);Strt := 1;DBMS_LOB.Read (varC,LN,Strt,vRStr);DBMS_OUTPUT.put_line (Return: || vRStr);END;②:DBMS_LOB.SubStr():从LOB数据中提取子字符串的函数。DBMS_LOB.SubStr(LOB数据,指定提取长度,提取起始位置):例子:/* Formatted on 2009-12-24 17:24:35 (QP5 v5.115.810.9015) */DECLAREvarC CLOB;vRStr VARCHAR2 (1000);LN NUMBER (4);Strt NUMBER (4);BEGINSELECT resumeI

文档评论(0)

1亿VIP精品文档

相关文档