sqlplus中如何插入blob資料

2021-08-31 22:41:57 字數 1252 閱讀 4926

在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欄位中去了。

mysql中blob MySQL中的BLOB型別

一 概念 blob binary large object 二進位製大物件,是乙個可以儲存二進位制檔案的容器。在計算機中,blob常常是資料庫中用來儲存二進位制檔案的字段型別。blob是乙個大檔案,典型的blob是一張或乙個聲音檔案,由於它們的尺寸,必須使用特殊的方式來處理。二 mysql的四種bl...

SQL Plus 中如何執行多個 sql指令碼檔案

1.在sql plus中執行單個sql指令碼檔案 sql c aaa.sql 2.在sql plus中執行多個sql指令碼檔案 比如你要執行得2個sql指令碼 a.sql 和 b.sql 現在你重新寫乙個指令碼 c.sql 其中得內容如下 a.sql b.sql 然後把c.sql放在a.sql 和 ...

SQLPLUS中設定引數

sql set colsep 域輸出分隔符 sql set echo off 顯示start啟動的指令碼中的每個sql命令,預設為on sql set echo on 設定執行命令是是否顯示語句 sql set feedback on 設定顯示 已選擇xx行 sql set feedback off...