oracle Blob保存方式,oracle 存储过程操作blob
一、授权用户及创建目录
SQL> grant CREATE ANY DIRECTORY to user;
Grant succeeded.
SQL> conn user/password
Connected.
SQL> create or replace directory BLOBDIR as '/home/oracle/picDir';
Directory created.
二、导出文件procedure
create or replace procedure photo_dump(IDENTITYID in varchar2,
filename in varchar2) is
l_file UTL_FILE.FILE_TYPE;
l_buffer RAW(32767);
l_amount BINARY_INTEGER := 32767;
l_pos INTEGER := 1;
l_blob BLOB;
l_blob_len INTEGER;
begin
SELECT key_value
INTO l_blob
FROM blob_map_t
WHERE key_id = IDENTITYID;
l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
l_file := UTL_FILE.FOPEN('BLOBDIR',
filename,
'wb',
32767);
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ(l_blob, l_amount, l_pos, l_buffer);
UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
l_pos := l_pos + l_amount;
END LOOP;
UTL_FILE.FCLOSE(l_file);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
IF UTL_FILE.IS_OPEN(l_file) THEN
UTL_FILE.FCLOSE(l_file);
END IF;
RAISE;
end photo_dump;
三、调用导出procedure
create or replace procedure out_put_photo is
IDENTITYID varchar2(300);
FILENAME varchar2(300);
cursor cur is
select key_id, key_name
from blob_map_t;
cur_result cur%rowtype;
begin
if cur%isopen = false then
open cur;
end if;
loop
fetch cur
into cur_result;
exit when cur%notfound;
IDENTITYID := cur_result.key_id;
FILENAME := cur_result.key_name;
photo_dump(identityid => IDENTITYID, filename => FILENAME || '.jpg');
end loop;
close cur;
end out_put_photo;
四、导出执行
begin
-- Call the procedure
out_put_photo;
end;
oracle Blob保存方式,oracle 存储过程操作blob相关推荐
- oracle Blob保存方式,关于文件保存到Oracle中BLOB字段的方法及例子
关于文件保存到Oracle中BLOB字段的方法及例子 ------------------------------------------- public class FileOpClass { pu ...
- oracle循环的方式,Oracle 的几种循环方式介绍
1 Oracle 中的Goto 用法: declare x number; begin x:=10; --定义的初始值 <> --循环点 x:= x-2; -- 循环的处理条件 dbms_ ...
- oracle rman 登录方式,oracle rman登陆及连接target数据库的步骤方法
方法一: [oracle@odd-oelr4u8~]$ rman target sys/oracle@PROD1521 catalogcatalog_admin/catalog_admin@PROD2 ...
- oracle awr使用方式,Oracle中AWR的使用
V\:*{behavior.:url(#default#VML);}O\:*{behavior.:url(#default#VML);}W\:*{behavior.:url(#default#VML) ...
- oracle文件存储方式,oracle文件存储介质介绍
oracle文件存储介质介绍 1. 前言 现在我们用户中随着ORACLE的应用越来越复杂,对于ORACLE文件存储也再不象以前这么简单D盘,C盘的规划,特别是linux环境加上RAC的应用对存储介质有 ...
- oracle索引实现方式,Oracle之索引的创建方式
Oracle 的索引可分为5种,它们包括唯一索引.组合索引.反向键索引.位图索引和基于函数的索引. 1.创建索引的标准语法 以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名)T ...
- oracle插入数据方式,Oracle批量插入数据的三种方式
第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); inse ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
- oracle表访问方式
0.参考文献: Index Full Scan && Index Range Scan oracle-index unique scan 与index range scan等的区别 i ...
最新文章
- 四则运算2.0版程序
- 夏季十一款降温饮料的制作方法
- ORC文件存储格式的深入探究
- 深度学习在CTR中的应用
- sql server相关的命令行
- JavaScript:学习笔记(9)——Promise对象
- 怎么注销笔记本icloud_如何在笔记本电脑或台式机的Web浏览器中在线查看Apple iCloud照片
- Spark RDD算子介绍
- Spring Cache 配置及一些问题的解决
- python 结巴分词(jieba)学习
- ECS 与 BCH的使用心得 - 引用篇
- 学习c#不容错过的网站
- 今日狗粮继续管饱:因为爱情,才有思科!
- ansible笔记(4):常用模块之文件操作
- 微信公众号开发文档,微信小程序开发文档,微信扫码支付文档,微信委托代扣模式开发文档
- 2022Java后端之美团笔试题
- 2022持续学习-架构相关
- 微信小程序:上传的图片显示旋转问题
- mysql 优化查询方法,优化MYSQL查询的详细方法
- 你所不知道的Spring的@Autowired实现细节