温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库中如何插入修改图片BLOB字段

发布时间:2020-08-11 05:48:17 来源:ITPUB博客 阅读:222 作者:yanhengdoudou 栏目:数据库

插入示例

1.     利用存储过程进行插入数据

-- 创建存储图片的表

CREATE TABLE IMAGE_LOB ( T_ID VARCHAR2 ( 5 ) NOT NULL , T_IMAGE BLOB NOT NULL );

-- 创建存储图片的目录,我这里在本地 C

CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\' ;

-- 通过存储过程来实现插入

CREATE OR REPLACE PROCEDURE IMG_INSERT ( TID VARCHAR2 , FILENAME VARCHAR2 ) AS

F_LOB BFILE ; -- 文件类型

B_LOB BLOB ;

BEGIN

-- 插入空的 blob EMPTY_BLOB ()

INSERT INTO IMAGE_LOB ( T_ID , T_IMAGE )

VALUES ( TID , EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB ;

-- 获取指定目录下的文件

F_LOB:= BFILENAME ( 'IMAGES' , FILENAME );

-- 以只读的方式打开文件

DBMS_LOB . FILEOPEN ( F_LOB , DBMS_LOB . FILE_READONLY );

-- 传递对象

DBMS_LOB . LOADFROMFILE ( B_LOB , F_LOB , DBMS_LOB . GETLENGTH ( F_LOB ));

-- 关闭原始文件

DBMS_LOB . FILECLOSE ( F_LOB );

COMMIT ;

END ;

/

2.     调用存储过程插入图片

call IMG_INSERT ( '1' , '1.jpg' );

数据库中如何插入修改图片BLOB字段

3.     验证结果

select * from IMAGE_LOB ;

  数据库中如何插入修改图片BLOB字段

数据库中如何插入修改图片BLOB字段

修改示例

1. 通过过程进行修改

declare

l_bfile bfile ;

l_blob blob ;

begin

update IMAGE_LOB set T_IMAGE=empty_blob () where T_ID=1 return T_IMAGE into l_blob ;

-- 图片路径还在 C 盘,通过系统表 SELECT * FROM dba_directories; 查询

l_bfile:=bfilename ( 'IMAGES' , '2.jpg' );

-- 以只读的方式打开文件

dbms_lob . open ( l_bfile , dbms_lob . file_readonly );

-- 传递对象

dbms_lob . loadfromfile ( l_blob , l_bfile , dbms_lob . getlength ( l_bfile ));

-- 关闭原始文件

dbms_lob . close ( l_bfile );

commit ;

end ;

/

2. 验证结果

select * from IMAGE_LOB ;

数据库中如何插入修改图片BLOB字段

数据库中如何插入修改图片BLOB字段

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI