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选项。
对序列的修改只影响随后产生的序号,已经产生的序号不变。

 

注意,最好在本机做这些操作。

posted @ 2016-05-25 09:56  花语苑  阅读(202)  评论(0编辑  收藏  举报