ORACLE 中 读取blob clob

Doson 2010-06-23 04:20:20
现在要把ORACLE 数据库换成SQL数据库,ORACLE 里有二个字断 存的是blob 和 clob 请问 怎么把这二个读出来,然后 赋值给二个变量,高手帮忙啊,急等解决
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
njzhuguo 2010-06-23
  • 打赏
  • 举报
回复
必须使用存储过程
xjwldlover 2010-06-23
  • 打赏
  • 举报
回复
读取函数如下:

----------------------------------output text of lob-------------------------------
CREATE TYPE content_table_type IS TABLE OF VARCHAR2(100);

CREATE OR REPLACE FUNCTION get_content(no NUMBER)
RETURN content_table_type IS
clob_loc CLOB;
len INT;
amount INT;
offset INT:=1;
temp INT;
content_table content_table_type:=content_table_type('A');
BEGIN
SELECT resume INTO clob_loc FROM clob_table WHERE id=no;
len:=DBMS_LOB.getlength(clob_loc);
temp:=TRUNC((len-1)/100);
IF temp>0 THEN
content_table.extend(temp);
END IF;
FOR i IN 1..(temp+1) LOOP
IF TRUNC((len-offset+1)/100)>0 THEN
amount:=100;
DBMS_LOB.read(clob_loc,amount,offset,content_table(i));
offset:=100*i+1;
ELSE
amount:=len-offset+1;
DBMS_LOB.read(clob_loc,amount,offset,content_table(i));
END IF;
END LOOP;
RETURN content_table;
END;

建表语句如下:
-- Create table
create table CLOB_TABLE
(
ID NUMBER(4) not null,
NAME VARCHAR2(10),
RESUME CLOB
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table CLOB_TABLE
add primary key (ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

这个写的只是读出来,复制的话,你自己再看看吧
Doson 2010-06-23
  • 打赏
  • 举报
回复
人呢,快来啊,急死了

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧