版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/william_zhangsun/article/details/89844361
在操作数据库中,需要在插入数据时,序号自增,这时我们可以先写一个序列,然后创建触发器,在数据插入时,调用触发器,让序列自增。
1.创建一个序列,序列名一般是以SEQ_表名_字段。
CREATE SEQUENCE SEQ_TABLENAME_COLUMN
MINVALUE 1
MAXVALUE 99999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;
从1开始,每次增加1,缓存20
2.创建触发器调用序列,完成插入时数据自增,
CREATE OR REPLACE TRIGGER TR_TABLENAME_COLUMN
BEFORE INSERT ON TABLENAME
FOR EACH ROW
DECLARE
BEGIN
IF :NEW.COLUMN IS NULL THEN
SELECT SEQ_TABLENAME_COLUMN.NEXTVAL INTO :NEW.SERIALKEY FROM DUAL;
END IF;
END;
需要指定插入那个表,以及要判断此字段是否为空,如果为空,则调用序列。