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

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


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

 

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

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


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



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

 

#2
发表于 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字段中去了。


__________________
好好学习,天天向上!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值