oracle id 自增长

select * from t_shop;


--创建一个序列
create SEQUENCE seq_t_shop
MINVALUE 1 --最小值1
NOMAXVALUE --不设置最大值
start with 1 --从1开始
INCREMENT by 1 --每次递增1
NOCYCLE --一直累加,不循环
NOCACHE; --不设置缓冲




--创建一个触发器,每次执行insert语句触发seq_test自增
CREATE OR REPLACE TRIGGER tg_t_shop --创建一个触发器,OR REPLACE 表示新建的触发器或者覆盖原有的重名触发器
BEFORE INSERT ON t_shop FOR EACH ROW WHEN (new.id is null) --在insert之前开始 for each row表示行级触发器 当id新的id 为空的时候
begin
select seq_t_shop.nextval into: new.id from dual;  --nextval表示与序列关联  dual为oracle中伪表,虚拟表
end;

猜你喜欢

转载自blog.csdn.net/chenxiaoscode/article/details/78530988