台灣最大程式設計社群網站
線上人數
1052
 
會員總數:245985
討論主題:189565
歡迎您免費加入會員
討論區列表 >> Oracle >> oracle blob table to clob table
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
oracle blob table to clob table
價值 : 500 QP  點閱數:2035 回應數:4
樓主

泡泡龍
初學者
20 20
6392 63
發送站內信

捐贈 VP 給 泡泡龍
我有 O8i 兩個 TABLE AAA, BBB
create table AAA
( id varchar2(64) not null , -- pkey
fileld_1 blob,
fileld_2 blob);
create table BBA
( id varchar2(64) not null , -- pkey
fileld_1 clob,
fileld_2 clob);

我想要
insert into BB( id, fileld_1, fileld_2 )
select id, fileld_1, fileld_2 fomr AA;

to_clob( ) 無法使用~
還有甚麼辦法?
有點急~


搜尋相關Tags的文章: [ oracle ] , [ blob ] , [ clob ] , [ convert ] , [ 轉換 ] , [ 轉型 ] ,
本篇文章發表於2013-11-05 17:44
1樓
作者回應

泡泡龍
捐贈 VP 給 泡泡龍 檢舉此回應
忙中有錯, 修正
我有 O8i 兩個 TABLE AAA, BBB
create table AAA
( id varchar2(64) not null , -- pkey
fileld_1 blob,
fileld_2 blob);
create table BBB
( id varchar2(64) not null , -- pkey
fileld_1 clob,
fileld_2 clob);

我想要
insert into BBB( id, fileld_1, fileld_2 )
select id, fileld_1, fileld_2 fomr AAA;
本篇文章回覆於2013-11-05 17:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
Hi~你好
感覺就是把TableA的資料丟一份給TableB
提供Link參考
1. https://forums.oracle.com/thread/2566801
2. http://www.wretch.cc/blog/elvismeng/11302709 (使用Export/import)

以上
本篇文章回覆於2013-11-05 18:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

泡泡龍
捐贈 VP 給 泡泡龍 檢舉此回應
您好~
兩個TABLE來位名稱順序都相同, 但是部分欄位型別 BLOB 要換成 CLOB 資料內容方式儲存後格式也不同, 應該不適用.

因為我隨時要動態新增資料 to BLOB Table( AAA ), 要透過 Oracle Trigger 自動的抄一份到 Clob Table( BBB ), 抄的過程 BLOB 資料格式要轉成 CLOB 格式, 存入後做其他的應用~
本篇文章回覆於2013-11-06 13:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

ivy
捐贈 VP 給 ivy 檢舉此回應
先在 Oracle 建立 BlobToClob

改成如下語法即可~

insert into BBB( id, fileld_1, fileld_2 )
select id, BlobToClob( fileld_1 ), BlobToClob( fileld_2 ) fomr AAA;


------ 轉換程式參考 ------
create or replace function BlobToClob( b blob ) return clob is
c clob;
srcOffset number := 1;
dstOffset number := 1;
warning number;
langContext number := DBMS_LOB.default_lang_ctx;
begin
DBMS_LOB.CreateTemporary( c, true );

DBMS_LOB.ConvertToClob(
dest_lob => c,
src_blob => b,
amount => DBMS_LOB.GetLength(b),
dest_offset => dstOffset,
src_offset => srcOffset,
blob_csid => DBMS_LOB.default_csid,
lang_context => langContext,
warning => warning
);

return( c );
end;
本篇文章回覆於2013-11-07 09:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.