- 新建id字段(这个就不用说了
)
- 因为已经使用的表中有一些旧数据了,在不能删除的情况下必须批量添加id,方法是:
这样 所有旧数据就会按顺序加上I_ID,假如末尾的I_ID为100.update T_TEST set I_ID=rownum commit;
-
要创建T_test表的序列,序列的Start with是从末尾Id上面的是100开始
创建好序列之后,有两种方式实现主键ID递增Create sequence Increment by 1 Start with 100 NOMAXVALUE Minvalue 1 Nocycle nocache;
- 第一种用nextval可以写到项目的连接数据库的xml的sql中
select sep_test_id.nextval from dual
查询出下一个主键id的序列索引
-
用数据库储存语言创建触发器实现I_ID递增
我用的第一种,这一种知道方法但是未尝试create or replace trigger tri_test_id before insert on T_COMPANY_MAGAZINE for each row declare nextid number; begin IF :new.I_ID IS NULLor :new.I_ID=0 THEN Select T_COMPANY_MAGAZINE_SEP.nextval into nextid from sys.dual; :new.I_ID :=nextid; end if; end tri_test_id;