您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 147Oracle数据库SQL开发之大对象理解大对象类型
147.Oracle数据库SQL开发之大对象——理解大对象类型创建3个表clob_content,包含一个CLOB列blob_content,包含一个BLOB列bfile_content,包含了一个BFILE列。命令如下:CREATETABLEclob_content(idINTEGERPRIMARYKEY,clob_columnCLOBNOTNULL);CREATETABLEblob_content(idINTEGERPRIMARYKEY,blob_columnBLOBNOTNULL);CREATETABLEbfile_content(idINTEGERPRIMARYKEY,bfile_columnBFILENOTNULL);1.使用大对象1.1使用CLOB和BLOC用数据填充CLOB和BLOB如下:INSERTINTOclob_content(id,clob_column)VALUES(1,TO_CLOB('Creepsinthispettypace'));INSERTINTOclob_content(id,clob_column)VALUES(2,TO_CLOB('fromdaytoday'));向blob_content表添加两行记录INSERTINTOblob_content(id,blob_column)VALUES(1,TO_BLOB('100111010101011111'));INSERTINTOblob_content(id,blob_column)VALUES(2,TO_BLOB('A0FFB71CF90DE'));从CLOB中检索数据lob_user@PDB1select*fromclob_content;IDCLOB_COLUMN------------------------------------------------------------------------------------------1Creepsinthispettypace2fromdaytoday查询blob_content表中的行,如下:lob_user@PDB1select*fromblob_content;ID----------BLOB_COLUMN----------------------------------------------------------------------------------------------------110011101010101111120A0FFB71CF90DE1.1.1修改CLOB和BLOB中的数据使用UPDATE和INSERT语句。lob_user@PDB1updateclob_contentsetclob_column=to_clob('whatlightthroughyonderwindowbreaks')whereid=1;1rowupdated.lob_user@PDB1updateblob_contentsetblob_column=to_blob('1110011010101011111')whereid=1;1rowupdated.可以初始化LOB定位器,但实际数据并不存储在LOB中。使用EMPTY_CLOB函数存储一个空的CLOB,使用EMPTY_BLOB函数存储一个空的BLOB:如下:lob_user@PDB1insertintoclob_content(id,clob_column)values(3,empty_clob());1rowcreated.lob_user@PDB1insertintoblob_content(id,blob_column)values(3,empty_blob());1rowcreated.要情况LOB数据时,可以在UPDATE语句中使用EMPTY_CLOB和EMPTY_BLOB,如下:lob_user@PDB1updateclob_contentsetclob_column=empty_clob()whereid=1;1rowupdated.lob_user@PDB1updateblob_contentsetblob_column=empty_blob()whereid=1;1rowupdated.1.2使用BFILEBFILELOB类型可以存储指向文件的指针,可以通过数据库服务器的文件系统访问。这些文件存储在数据库之外,可以指向位于任何媒体上的文件,可以是硬盘,CD,DVD等。1.2创建目录对象在BFILE列中存储文件指针之前,必须在数据库中创建一个目录对象,表示文件在文件系统中的存储目录。使用CREATEDIRECTORY语句。需要有CREATEANYDIRECTORY数据库权限。--createtheBFILEdirectorycollection_user@PDB1createdirectorysample_files_dir2as'/home/oracle/sample_files';1.3用文件指针填充BFILE列BFILE只是一个外部文件的指针,所以填充BFILE列时非常简单的。CREATETABLEbfile_content(idINTEGERPRIMARYKEY,bfile_columnBFILENOTNULL);插入,如下:INSERTINTObfile_content(id,bfile_column)VALUES(1,BFILENAME('SAMPLE_FILES_DIR','textContent.txt'));INSERTINTObfile_content(id,bfile_column)VALUES(2,BFILENAME('SAMPLE_FILES_DIR','binaryContent.doc'));
本文标题:147Oracle数据库SQL开发之大对象理解大对象类型
链接地址:https://www.777doc.com/doc-3060871 .html