Oracle中有Blob和Clob可以保存大数据量。其中Blob是指二进制大对象也就是英文Binary Large Object的缩写,用来存储大量二进制数据。而Clob是指大字符对象是英文Character Large Object的缩写,用来存储大量文本数据。
1 数据库表
-- 创建文件表
create table tb_file
(
id number(20) not null,
file_name nvarchar2(100),
file_content blob,
constraint pk_tb_file primary key (id)
)
tablespace mydb storage(
initial 64K
minextents 1
maxextents unlimited
);
--设置tb_file主键自增
create sequence seq_tb_file --创建自增序列
minvalue 1
maxvalue 9999999999999999999
start with 1
increment by 1
nocache
order;
create or replace trigger ai_tb_file --创建触发器,当插入新记录时自增主键id
before insert on tb_file
for each row
when (new.id is null)
begin
select seq_tb_file.nextval into :new.id from dual;
end;
2 在数据库中保存和读取二进制文件