TABLE A
字段a number(10)
字段b blob
字段c number(10)TABLE B
字段d number(10)
字段e blob
现在要将A表中c >100的记录全部插入到B中 如果没有blob字段 可以
insert into B(d,e) select a,b from A where A.c>100现在有blob字段 又该怎么写呢?
字段a number(10)
字段b blob
字段c number(10)TABLE B
字段d number(10)
字段e blob
现在要将A表中c >100的记录全部插入到B中 如果没有blob字段 可以
insert into B(d,e) select a,b from A where A.c>100现在有blob字段 又该怎么写呢?
isprocedure test
is
v_clob clob;
buffer varchar2(32767);
amount binary_integer:=1;
position integer:=1;
chunksize integer;
begin
select staffname into v1 from t1where staffno='1';
insert into t2 (staffno,staffname ) values ('1',empty_clob());
select staffname into v2 from t2 where staffno='1';
chunksize :=dbms_lob.getchunksize(v_clob); dbms_lob.open(v1,dbms_lob.lob_readonly);
dbms_lob.open(v2,dbms_lob.lob_readwrite);
loop dbms_lob.read(v1,amount,position,buffer);
dbms_lob.write(v2,amount,position,buffer); end loop; dbms_lob.close(v1);
dbms_lob.close(v2);
exception
when no_data_found then
dbms_output.put_line('End of file');
dbms_lob.close(v1);
dbms_lob.close(v2);
when others then
dbms_lob.close(v_clob);
dbms_output.put_line(sqlerrm);
end;
end;
/
如果不是,则通过DBMS_LOB包读写。
或者exp imp导入数据到同一个实例上再转入,或者用应用程序读、然后写。
用DBMS_LOB包,参考楼上的。
有问题给我消息,明天来看。