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

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...