WEB开发网
开发学院数据库Oracle 实现oracle多种方法来检索或操作lob数据 阅读

实现oracle多种方法来检索或操作lob数据

 2008-11-08 12:57:23 来源:WEB开发网   
核心提示: 修改CLOB的PL/SQL过程:updateclobcreate or replace procedure updateclob(table_name in varchar2,field_id in varchar2,field_name in varchar2,v_id in numbe

修改CLOB的PL/SQL过程:updateclob 
create or replace procedure updateclob( 
table_name in varchar2, 
field_id in varchar2, 
field_name in varchar2,v_id in number, 
v_pos in number, 
v_clob in varchar2) 
is 
lobloc clob; 
c_clob varchar2(32767); 
amt binary_integer; 
pos binary_integer; 
query_str varchar2(1000); 
begin 
pos:=v_pos*32766+1; 
amt := length(v_clob); 
c_clob:=v_clob; 
query_str :='select '||field_name||'from '||table_name||' 
where '||field_id||'= :id for update '; 
--initialize buffer with data to be inserted or updated 
EXECUTE IMMEDIATE query_str INTO lobloc USING v_id; 
--from pos position, write 32766 varchar2 into lobloc 
dbms_lob.write(lobloc, amt, pos, c_clob); 
commit; 
exception 
when others then 
rollback; 
end; 

l /用法说明:

在插入或修改以前,先把其它字段插入或修改,CLOB字段设置为空empty_clob(),

然后调用以上的过程插入大于2048到32766个字符。

如果需要插入大于32767个字符,编一个循环即可解决问题。

查询CLOB的PL/SQL函数:getclob 

create or replace function getclob( 

table_name in varchar2, 

field_id in varchar2, 

field_name in varchar2, 

v_id in number, 

v_pos in number) return varchar2 

上一页  1 2 3 4  下一页

Tags:实现 oracle 多种

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接