如果没有的话 添加权限 conn sys/password as sysdba grant create sequence to 用户;
CREATE sequence ZhouMM –创建的sequence的名字 minvalue 1 –最小值从几开始 maxvalue 999999999 –最大值到多少 start WITH 1 –从多少开始 INCREMENT BY 1 –每次添加多少 cache 100 –如果连接锻炼最大缓存数量为100 order;
create sequence seq_test as bigint start with 20000 increment by 1 minvalue 10000 maxvalue 99999999999999999 cycle cache 20 order;
create sequence seq_test increment by 1 minvalue 10000 maxvalue 99999999999999999 start 20000 cache 20 cycle; –一直循环添加
修改前提是sequence 的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create . Alter sequence 的例子: ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXvalue 10000 CYCLE – 到10000后从头开始 NOCACHE 影响Sequence的初始化参数: SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。 也可以这样 alter sequence mySeq maxvalue 500 注意:不能改start with,其他随便改(设置minvalue值的时候不能大于当前值)
这样就会实现INSTRUCTIONNUMBER字段的自增了
如果添加了触发器就可以
insert into TabkInfo11(INSTRUCTIONNUMBER,name)value('','小白');这样就可以实现自增了
CREATE or replace trigger ZhouMM_Increate –触发器的名字 before insert on TASKINFO11 –来源表 FOR each row DECLARE nextid NUMBER BEGIN IF:new.INSTRUCTIONNUMBER IS NULL or :NEW.INSTRUCTIONNUMBER = 0 THEN SELECT ZhouMM.nextval –先前建立的sequence into nextid FROM sys.DUAL; :new.INSTRUCTIONNUMBER = nextid; end if; end ZhouMM_Increate;
create trigger ZhouMM11 before insert on TASKINFO11 – ZhouMM11创建的触发器 –TASKINFO11 表名 for each row begin select ZhouMM.nextval into :new.INSTRUCTIONNUMBER from dual; –INSTRUCTIONNUMBER要自增的字段 end;
conn aaa/aaa grant select on sequencename to bbb conn bbb/bbb select aaa.sequencename.nextval from dual
grant select on seq_teammember_id to aaa revoke select on seq_teammember_id from bbb