■
Oracle
<内部LOB ( Oracle Database内部に格納するLOB )>
BLOB : バイナリデータを格納
CLOB : 文字データを格納
NCLOB : 各国語キャラクタ・セットの文字データを格納
<外部LOB ( Oracle Database 表領域の外にあるOSファイルに格納 )>
BFILE : 読み取り専用(アプリケーション内で書込みできない)
▼データ登録
CREATE TABLE TEST_LOB(
ID number,
LOBDATA BLOB
);
・小さいデータ用
INSERT INTO TEST_LOB VALUES ( 1, HEXTORAW('3E00210102CDA000C9') );
・大きいデータ用
create or replace directory MY_FILES as 'D:\test';
declare
ablob blob;
abfile bfile := BFILENAME('MY_FILES', 'test.data');
amt integer;
begin
dbms_lob.fileopen(abfile, dbms_lob.file_readonly);
amt:=dbms_lob.getlength(abfile);
insert into TEST_LOB values (2, empty_blob())
returning LOBDATA into ablob;
dbms_lob.loadfromfile(ablob, abfile, amt);
commit;
dbms_lob.fileclose(abfile);
end;
■
MySQL
バイナリデータ
TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
文字列データ
TINYTEXT,TEXT,MEDIUMTEXT,
BINARY型とVARBINARY型
▼データ登録
CREATE TABLE TEST_LOB(
ID int,
LOBDATA LONGBLOB
);
insert into TEST_LOB values(1,LOAD_FILE('d:\\test\\test.data'));
CREATE TABLE TEST_LOB(
ID int,
LOBDATA varbinary(MAX)
);
INSERT INTO TEST_LOB
SELECT 1,x.* FROM OPENROWSET(BULK 'd:\\test\\test.data',SINGLE_BLOB) x
最終更新:2014年12月24日 13:08