• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

急!存储过程中,如何将表A中long类型的数据插入到表B中blob字段中

cyp503 2006-06-16 06:13:50
如题
...全文
390 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cyp503 2006-06-21
up
回复
ThomasBoxing 2006-06-20
dbms_lob.convertToBlob(d) from T;


我在想个问题,怎么将两个blob或bfile文件放在一起形成一个blob或bfile处理呢?
用append可以实现么?



回复
snooper 2006-06-20
Insert into T1 select to_lob(Long字段) from T2
回复
cyp503 2006-06-19
首先谢谢zxhcloth(hima) !

但编译的时候出现错误:

Compilation errors for FUNCTION CHTFLOW.CONVERTTOBLOB

Error: PLS-00302: 必须说明 'CONVERTTOBLOB' 组件
Line: 13
Text: DBMS_LOB.convertToblob(DEST_LOB => B,


DBMS_LOB中没有这个方法,有一个CONVERTTOCLOB的方法,但参数不对


回复
zxhcloth 2006-06-19
"cyp503 (谁怕?一蓑烟雨任平生) "您好!
如下是我写的一个函数,专程解决你这个问题的,希望对你有帮助!

CREATE OR REPLACE FUNCTION CONVERTTOBLOB(SRC IN LONG) RETURN BLOB IS
D_OFFSET INTEGER := 1;
S_OFFSET INTEGER := 1;
B_CSID NUMBER := 0;
LANG_C INTEGER := 0;
WARN INTEGER := 0;
LEN INTEGER := 0;
B BLOB;
BEGIN
DBMS_LOB.CREATETEMPORARY(LOB_LOC => B, CACHE => TRUE);
LEN := DBMS_LOB.GETLENGTH(TO_CLOB(SRC));
DBMS_LOB.CONVERTTOBLOB(DEST_LOB => B,
SRC_CLOB => TO_CLOB(SRC),
AMOUNT => LEN,
DEST_OFFSET => D_OFFSET,
SRC_OFFSET => S_OFFSET,
BLOB_CSID => B_CSID,
LANG_CONTEXT => LANG_C,
WARNING => WARN);
RETURN B;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/

Thanks
Hima
回复
sql5186 2006-06-17
inser into aaa select to_lob(字段名) from bbb
回复
cyp503 2006-06-17
up
回复
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2006-06-16 06:13
社区公告
暂无公告