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)
相关问答:
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y 然後按回車鍵 說明: user/password@dbname 分別表示用戶名,密碼和服務名 f ......
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl"; private static final String USERNAME = "sys"; private static final String PASSWORD = "s ......
我在开发的这个应用并发性比较高,oracle更新数据时候如何处理并发处理呢?各位大侠发表好的观点啊,在线等待! oracle数据更新时,会自动默认行锁定,楼主不要操心,Oracle对并行处理已经很成熟了 引用 oracle ......
我有两个表(A表和B表),机构完全相同:A 表建立触发器 当insert into A(id,name) values('1','zhangsan'); 我只想将name=zhangsan的时候将insert语句插入到B表中而A表不执行操作这个触发器应该怎么实现呢? 如: ......