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;
--创建一个序列
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;
本文详细介绍如何在Oracle数据库中创建并使用序列和触发器。通过具体实例演示了序列的创建及其属性设置,并展示了如何利用触发器实现自动填充记录ID的功能。
1万+

被折叠的 条评论
为什么被折叠?



