ORACLE创建触发器和序列

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;

需要指定插入那个表,以及要判断此字段是否为空,如果为空,则调用序列。

猜你喜欢

转载自blog.csdn.net/william_zhangsun/article/details/89844361
今日推荐