`

(转)sqlplus中如何插入blob数据?

阅读更多

标题: sqlplus中如何插入blob数据?
离线shell 
老会员


精华贴数 0
个人空间 0
技术积分 1258 (1798)
社区积分 12 (12467)
注册日期 2002-12-15
论坛徽章:3
会员2006贡献徽章 授权会员 ITPUB新首页上线纪念徽章      
           

 

发表于 2003-6-29 18:04 
sqlplus中如何插入blob数据?

一个字段是blob型,请问在
sqlplus中如何插入blob数据?


__________________
请各位老师多指教!
只看该作者    顶部
离线southron 
中级会员



精华贴数 0
个人空间 0
技术积分 676 (3545)
社区积分 0 (89212)
注册日期 2002-12-6
论坛徽章:0
           
           

 

发表于 2003-6-29 18:37 
在internal这个用户下给scott用户授权如下:
SQL>grant create any directory to scott;
SQL>grant create any library to scott;
在scott这个用户下执行下述语句:
SQL>create table bfile_tab (bfile_column BFILE);
SQL>create table utl_lob_test (blob_column BLOB);
SQL>create or replace directory utllobdir as 'C:\DDS\EXTPROC';
SQL>set serveroutput on
然后执行下面语句就将C:\DDS\EXTPROC目录下的word文件COM.doc存入到utl_lob_test 
表中的blob_column字段中了。
declare
  a_blob  BLOB;
  a_bfile BFILE := BFILENAME('UTLLOBDIR','COM.doc'); --用来指向外部操作系统
文件
begin
  insert into bfile_tab values (a_bfile)
    returning bfile_column into a_bfile;
  insert into utl_lob_test values (empty_blob())
    returning blob_column into a_blob;
  dbms_lob.fileopen(a_bfile);
  dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
  dbms_lob.fileclose(a_bfile);
  commit;
end;
/
SQL>show errors
此时可以使用DBMS_LOB包的getlength这个procedure来检测是否已经将该word文件存入
到blob字段中了。如:
SQL> select dbms_lob.getlength(blob_column) from UTL_LOB_TEST;
结果如下:
DBMS_LOB.GETLENGTH(BLOB_COLUMN)
-------------------------------
               83968
说明该word文件已经存入到blob字段中去了。


__________________
好好学习,天天向上!

分享到:
评论

相关推荐

    SQLplus&数据库对象

    【SQLplus&数据库对象】是Oracle数据库管理中的重要概念,主要涵盖了使用SQL*PLUS这个工具以及Oracle数据库的各种数据类型和对象。SQL*PLUS是Oracle提供的一种命令行接口,用于交互式地操作和管理数据库,包括执行...

    数据库基础

    §4.1.1 使用视图来修改表中数据 128 §4.1.2 创建一个新视图 128 §4.1.3 删除一个视图 130 §4.1.4 改变视图 131 §4.2 实体视图(MATERIALIZED VIEW) 131 §4.2.1 创建实体视图 131 §4.2.2 创建实体视图日志 137 ...

    神州数码ORACLE SQL讲义.pptx

    * INSERT 语句:用于插入数据,例如:INSERT INTO dpe_file (dpe01, dpe02, ...) VALUES ('ABC', ' DEF', ...); * UPDATE 语句:用于更新数据,例如:UPDATE dpe_file SET dpe02='DEF' WHERE dpe01='ABC'; * DELETE ...

    教案Oracle数据库知识点.pdf

    DML 用于操作表的数据,例如插入数据、更新数据、删除数据等。TCL 用于控制事务,例如提交事务、回滚事务等。DCL 用于控制权限,例如授予权限、回收权限等。 在 Oracle 数据库中,telnet 命令可以用于连接数据库,...

    OracleSplitClob.rar

    - **大文本**:在数据库中,大文本通常指的是BLOB(Binary Large Object)和CLOB(Character Large Object),用于存储非结构化的大量数据。 - **clob**:CLOB用于存储非二进制的大文本数据,如文本、XML等。 - *...

    SQLSERVER到ORACLE的数据库迁移

    这个程序需要能够连接到源SQL Server数据库读取数据,并将这些数据插入到目标Oracle数据库中的相应表中。 ```java package 数据迁移; import java.sql.*; /** * @中华人民共和国行政区划代码迁移 * @模块:...

    oracle11g数据导入到oracle10g步骤

    为了将Oracle 11g的数据迁移到Oracle 10g环境中,首先需要在Oracle 11g环境中导出所需的数据。以下是详细的导出步骤: 1. **启动命令行工具**:在Windows环境下,可以通过“运行”对话框输入`CMD`来启动命令提示符...

    oracle SQL讲义

    4. **INSERT指令**:用于向表中插入新记录。 ```sql INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); ``` 5. **UPDATE指令**:用于更新表中已存在的记录。 ```sql UPDATE ...

    oracle第二讲(创建及管理表).pptx

    - **增删改查操作**:基本的SQL操作,包括`INSERT`(插入数据)、`DELETE`(删除数据)、`UPDATE`(修改数据)和`SELECT`(查询数据)。 理解Oracle的这些基础知识对于有效地管理和操作数据库至关重要。在实际工作...

    CSDN+Oracle版精华帖荟萃

    8. 行转列通用过程:在数据处理中,经常需要将行数据转换成列数据,这在报告和数据分析中尤为重要。Oracle提供了如PIVOT这样的函数或SQL语句来实现这一转换。 9. dblink同步远程带blob字段的表:在多个数据库间同步...

    CSDN Oracle 版精华帖荟萃

    8. 行转列通用过程:在数据仓库和报表生成中常常需要进行行转列的操作,Oracle中的PL/SQL可以编写通用过程来实现这一需求。 9. dblink同步远程带blob字段的表:dblink是Oracle提供的一种数据库链接技术,用于实现...

    数据库基础知识PPT讲义

    在"6-LOB大对象-0507.ppt"中,会讲解大型对象(LOB)的概念,如BLOB(二进制大对象)和CLOB(字符大对象),它们用于存储非结构化数据,如图像、音频和文本文件。 "7-数据库设计-0507.ppt"是关于数据库设计的,包括...

    MLDN_oracle课堂笔记(全).pdf

    SQL语言用于查询、插入、更新和删除数据库中的数据。文档中提到了“DISTINCT”关键字,这是SQL中的一个关键字,用于返回唯一不同的值。 7. Oracle的数据类型: 在文档中介绍了Oracle支持的数据类型,比如NUMBER、...

    Oracle大总结(达内培训笔记)

    - **2.3.1 INSERT**:向表中插入数据。 - **2.3.2 UPDATE**:更新表中的数据。 - **2.3.3 DELETE**:从表中删除数据。 - **2.4 数据查询语言(DQL)** - **2.4.1 SELECT**:用于查询数据。 - **2.4.2 条件语句...

    ORACLE常用SQL命令.pdf

    在Oracle SQL中,理解并熟练掌握基本的SQL命令和数据类型对于有效管理和操作数据库至关重要。 首先,让我们深入了解一下Oracle支持的基本数据类型: 1. **VARCHAR2**:这是变长字符串数据类型,最多可存储2000个...

    oracle相关SQL

    - **DML(Data Manipulation Language)**:用于插入、选择、删除和更新数据。 - **TCL(Transaction Control Language)**:用于管理数据库事务,包括提交、设置保存点和回滚事务。 - **DCL(Data Control ...

    oracle恢复工具-FY_Recover_Data

    由于在System表空间中已经记录了新的信息, 因此用当前的System信息是不能恢复过来的,在AUL/MyDUL中可以当作没有System时的情况来处理,在下面的命令中, 我们用Truncate后的数据对象号就不能进行恢复, 而使用Truncate...

Global site tag (gtag.js) - Google Analytics