程序控制吧!~表中建立一个唯一标识字段id number每次做插入操作之前取出最大的id,select max(id) from table_name 然后给id值加1再插入表中。
自己仿照Sequence的思想写代码,加上让其可以回滚的控制。呵呵!
既然记录插入后就不会被删除,那么记录的顺序也不应该会改变,那么下面两个方法,我觉得都可行 1:通过视图 create or replace view vw as select rownum id,tb.* from tb;2:考虑通过rowid做id(可用rowidtochar,将rowid转换成字符,再做处理)
select id into v_id from tb_new where rownum=1 for update;
update tb_new set id=id+1;
commit;释放锁
如果出错则不会更新最大值
一般来说,程序是会有不可避免的会有错误,所以回滚,但是sequence却有不能回滚.
这个问题一只存在,
在不能被修改,和删除的情况下,用当前最大值加一.
然后给id值加1再插入表中。
1:通过视图
create or replace view vw as
select rownum id,tb.* from tb;2:考虑通过rowid做id(可用rowidtochar,将rowid转换成字符,再做处理)
jsnicle(js_nicle)的方法是可取的,更方便控制
1.取表id_v中的id的值,加一后构造出文件名
2.保存该文件
如果保存文件成功,设置表id_v中的id = id + 1 ,更新该表,goto 3. ;
如果保存文件失败,则goto 1.
3.结束