1.字符串太长,应该用那个字段?varchar最大是4000.有人说是clob,如果用的话,字符串怎么往里存?
2.id自动增长怎么实现?一定要用序列吗?一个自动增长的id对应一个序列,对吗?暂时就这些。以前一直用sql server的。
小弟谢谢各位了!
2.id自动增长怎么实现?一定要用序列吗?一个自动增长的id对应一个序列,对吗?暂时就这些。以前一直用sql server的。
小弟谢谢各位了!
调试欢乐多
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,这个不一定要求一一对应.