易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle自动增长标识列问题

create sequence TestIdentity
  start with 1
  increment by 1
  maxvalue 99999
  nocycle
  cache 20;

create or replace trigger TestTrigger
  before insert on test for each row
    begin
      select TestIdentity.nextval into:new.ID from dual;
    end;

我建了这样一个序列,把他应用到test表上,应该是从1开始,每次增加1,但是现在是从2开始,每次加2,这是为什么呢?
用了2次,是不是其它地方也有同时用这个序列?


你这个是触发器,那你表插入的时候也用了序列吧,
你触发器里改成这个
select TestIdentity.currval into:new.ID from dual;
试试,满足你的要求?>

现在的情况是,我表里如果没有DATE类型的字段,这个序列就能每次加1,但是我要是表里有date类型的字段,就每次加2,大家知道是为什么吗?

估计是在别的地方用了一次改序列,
你可以试下,drop sequence,再重新创建,再引用nextval看看

你怎么插入数据的?


insert into语句看看

insert into sysadmin.test values(TestIdentity.nextval,'abd',to_date('2009-06-23','YYYY-MM-DD'))

引用
估计是在别的地方用了一次改序列,
你可以试下,drop sequence,再重新创建,再引用nextval看看

我只在test这个表上用序列了,别的表我没用,我也已经drop再重新创建了,就是不行,只要有日期函数就每次加2

SQL> create table test (id number,name varchar2(16)


相关问答:

Oracle 数据导出问题 - Oracle / 高级技术

exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
然後按回車鍵 說明:  user/password@dbname  分別表示用戶名,密碼和服務名 f ......

java怎么连接Oracle,急啊 - Java / Java相关

private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......

oracle并发处理SOS - Oracle / 开发

我在开发的这个应用并发性比较高,oracle更新数据时候如何处理并发处理呢?各位大侠发表好的观点啊,在线等待!
oracle数据更新时,会自动默认行锁定,楼主不要操心,Oracle对并行处理已经很成熟了

引用
oracle ......

oracle触发器插入问题 - Oracle / 高级技术

我有两个表(A表和B表),机构完全相同:A 表建立触发器
当insert into A(id,name) values('1','zhangsan'); 我只想将name=zhangsan的时候将insert语句插入到B表中而A表不执行操作这个触发器应该怎么实现呢?
如: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号