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