当前位置: 代码迷 >> Oracle管理 >> CREATE SEQUENCE有关问题
  详细解决方案

CREATE SEQUENCE有关问题

热度:73   发布时间:2016-04-24 05:57:34.0
CREATE SEQUENCE问题
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');
  相关解决方案