步骤:1.创建序列
2.创建触发器。
语法解析:
create sequence TB_CODE_SEQUENCE minvalue 1 maxvalue 999999999999999999999999999 start with 11 increment by 1 cache 10;
CREATE OR REPLACE TRIGGER tb_code_Increase BEFORE insert ON tb_code FOR EACH ROW begin select tb_code_Sequence.nextval into:New.ID from dual; end;
create sequence TB_CODE_SEQUENCE ---创建一个名为TB_CODE_SEQUENCE的序列。 minvalue 1 ---最小值为1 maxvalue ---最大值,可对maxvalue设置任意正整数值。当不设任何值时,默认为999999999999999999999999999 start with 11---从第11条记录开始,当表中没有记录,则从1开始 increment by 1---增量值为1,每次自增1 cache 10 ---CACHE(缓冲)定义存放序列的内存块的大小,默认为20。
CREATE OR REPLACE TRIGGER tb_code_Increase ---创建一个名为tb_code_Increase的触发器 BEFORE insert ON tb_code ---定义发生什么时间时激发触发器,这里定义为在对tb_code表进行插入之前激发触发器 FOR EACH ROW ---循环每一行 begin select tb_code_Sequence.nextval into:New.ID from dual; ---查询序列当中nextval返回的值并返回给序列。 end;
修改: 序列的某些部分也可以在使用中进行修改,但不能修改SATRT WITH选项。 对序列的修改只影响随后产生的序号,已经产生的序号不变。
原文链接:https://www.f2er.com/oracle/213030.html