--创建表 create table lob_example1(id number(6) primary key, name varchar2(10),resume clob);--初始化 insert into lob_example1 values(1,'马鸣',EMPTY_CLOB()); insert into lob_example1 values(2,'马丽',EMPTY_CLOB());--更新 declare lob_loc clob; text varchar2(200); amount int ; offset int; begin select resume into lob_loc from lob_example1 where id = &id for update; offset := dbms_lob.getlength(lob_loc) + 1; text := '&reesume'; amount := length(text); dbms_lob.write(lob_loc,amount,offset,text); commit; end; --读取 declare lob_loc clob; buffer varchar2(200); amount int; offset int; begin select resume into lob_loc from lob_example1 where id = &id; offset := 6; amount := dbms_lob.getlength(lob_loc); dbms_lob.read(lob_loc,amount,offset,buffer); dbms_output.put_line(buffer); end;
2.id自动增长可以通过SEQUENCE和触发器实现,也可以在程序里实现
create table lob_example1(id number(6) primary key,
name varchar2(10),resume clob);--初始化
insert into lob_example1 values(1,'马鸣',EMPTY_CLOB());
insert into lob_example1 values(2,'马丽',EMPTY_CLOB());--更新
declare
lob_loc clob;
text varchar2(200);
amount int ;
offset int;
begin
select resume into lob_loc from lob_example1 where id = &id for update;
offset := dbms_lob.getlength(lob_loc) + 1;
text := '&reesume';
amount := length(text);
dbms_lob.write(lob_loc,amount,offset,text);
commit;
end; --读取
declare
lob_loc clob;
buffer varchar2(200);
amount int;
offset int;
begin
select resume into lob_loc from lob_example1 where id = &id;
offset := 6;
amount := dbms_lob.getlength(lob_loc);
dbms_lob.read(lob_loc,amount,offset,buffer);
dbms_output.put_line(buffer);
end;
2.可以用序列也可用触发器或在其它客户端程序处理,一般是使用SEQUENCE比较方便,
一个自动增长的id是对应一个序列
建议去看看Oracle基础方面的书。
2.一个序列可以对应多个ID,这个不一定要求一一对应.