oracle简历自增序列(转)
步骤: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选项。
对序列的修改只影响随后产生的序号,已经产生的序号不变。
注意,最好在本机做这些操作。