CREATE SEQUENCE FZBG.RD_LXPB_CORRESPONDENCE_SEQU
START WITH 4201
MAXVALUE 999999999999999999
MINVALUE 1
NOCYCLE
CACHE 100
NOORDER;
主键不是自动加1,都是一百一百的往上蹦。。。请教下,哪里错了。。怎么修改
还有让主键重新从1开始排列。。怎么弄
------解决方案--------------------
- SQL code
create sequence FZBG.RD_LXPB_CORRESPONDENCE_SEQU minvalue 1maxvalue 999999999999999999999999999start with 1increment by 1cache 100;
------解决方案--------------------
先DROP 掉,再RE-CREATE
------解决方案--------------------
- SQL code
SQL> drop sequence RD_LXPB_CORRESPONDENCE_SEQU;序列已丢弃。SQL> CREATE SEQUENCE RD_LXPB_CORRESPONDENCE_SEQU 2 START WITH 4201 3 MAXVALUE 999999999999999999 4 MINVALUE 1 5 NOCYCLE 6 CACHE 100 7 NOORDER; 序列已创建。SQL> CREATE TABLE RD_LXPB_CORRESPONDENCE 2 ( 3 LXID NUMBER(20) NOT NULL, 4 LXDW VARCHAR2(50 BYTE), 5 SXSJ DATE, 6 LXR VARCHAR2(50 BYTE), 7 XXDH VARCHAR2(800 BYTE), 8 LXZT VARCHAR2(1000 BYTE), 9 LXNR CLOB, 10 YSBH VARCHAR2(50 BYTE), 11 BH VARCHAR2(50 BYTE), 12 CLZT VARCHAR2(50 BYTE), 13 CKZT VARCHAR2(50 BYTE), 14 ORG_ID VARCHAR2(50 BYTE) 15 );表已创建。SQL> insert into RD_LXPB_CORRESPONDENCE(LXID) select RD_LXPB_CORRESPONDENCE_SEQU.NEXTVAL from dual;已创建 1 行。SQL> select lxid from RD_LXPB_CORRESPONDENCE; LXID---------- 4201SQL> insert into RD_LXPB_CORRESPONDENCE(LXID) select RD_LXPB_CORRESPONDENCE_SEQU.NEXTVAL from dual;已创建 1 行。SQL> select lxid from RD_LXPB_CORRESPONDENCE; LXID---------- 4201 4202
------解决方案--------------------
1)建议你用PLSQL DEVELOPER 查看Sequences的执行情况。
2)以下是我自己在Sql plus里做的测试
- SQL code
SQL> create sequence test_seq 2 increment by 1 3 minvalue 1 4 start with 1 5 nomaxvalue 6 nocycle 7 nocache 8 /SQL> create table test2 2 (id number(6) primary key, 3 name varchar2(20));表已创建。SQL> create or replace trigger trg_test_id 2 before insert 3 on test2 4 for each row 5 begin 6 select test_seq.nextval into :new.id from dual; 7 end; 8 /触发器已创建SQL> insert into test2(name) 2 values('&name');