Oracle数据库里利用触发器按顺序插入数据往下自增长

Oracle 触发器

在写业务需求作业时,遇到过这么一个问题:

如何往数据库里按顺序插入数据往下自增长呢?

触发器便是一个很好的处理方式。

那么什么是触发器呢?

所谓的触发器,简而言之,就是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。

摘自:https://baike.baidu.com/item/触发器/16782

 下面是一个简单的创建触发器的SQL代码:

/*建立触发器或取代原有触发器*/
create or replace trigger trg_cloud /*trg_cloud为创建的触发器名字*/
before insert on student /*student为表名*/
for each row   /*对表的每一行触发器执行一次*/
begin
select autoid.nextval into:new.sno from dual; /*autoid为创建的一个顺序*/
end;

意思时在student表插入数据之前进行触发该触发器,并按创建的顺序autoid往下添加数据。其中new表示新加记录,后面sno为表主键编号,new.sno为一个变量。

该触发器属于行级触发器中的before触发器。

补充autoid顺序创建的SQL代码:

CREATE SEQUENCE  AUTOID  
MINVALUE 1 
MAXVALUE 10000
INCREMENT BY 1 
START WITH 1 
CACHE 20 
ORDER  
NOCYCLE;

 student表内容:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值