oracle触发器写法是什么呢?不知道的小伙伴来看看小编今天的分享吧!
oracle触发器写法:
CREATESEQUENCE序列名[INCREMENTBYn]--每次加几[STARTWITHn]--序列从几开始[{MAXVALUE/MINVALUEn|NOMAXVALUE}]--最小值、最大值的限制比如CREATESEQUENCEs_teststartwith1incrementby1;--就是建立了额一个从1开始每次加1的序列。访问序列时,用序列名称.nextval的语法。拓展资料:
1、触发器的概念:
触发器是存储在服务器中的程序单元,当数据库中某些事件发生时(比如insert\update\delete),数据库自动启动触发器,执行触发器中的相应操作。
(1) 触发器是一种特殊的存储过程,具备事务的功能;
(2) 触发器不能被直接调用,而是由事件来触发;例如:增删改
(3) 触发器常用于加强数据的完整性约束和业务规则等。
简单点说:触发器就是个开关,灯就是开关触发后的操作,触动了开关灯就亮了。
2. 触发事件:
Insert,update,delete,create(创建对象时),alter,drop
logon/logoff(用户的登录或注销时执行触发器)
startup/shutdown(数据库打开或关闭时执行触发器)。
3. 触发时间
before 在指定的事件发生之前执行触发器
after 在指定的事件发生之后执行触发器
以上就是小编今天的分享了,希望可以帮助到大家。
oracle修改数据自动更新数据修改时间
在开发中有时候需要记录数据更新时间,但是用程序控制,有些数据不是通过程序进入数据库的,这样就会遗漏。那么可以利用数据库来做到这一点。
建表语句create table user_info(id varchar2(32) not null primary key,name varchar2(200) ,age int ,create_time date default sysdate,update_time date default sysdate)
现在 insert 时可以自动更新 create_time 和 update_time 字段,但是修改数据不会更新。update时需要设置触发器,才能自动更新时间。
新建触发器create or replace trigger user_info_triggerbefore update on user_info for each rowbegin:new.update_time := sysdate;end;
好了,这个时候可以去修改时间去看看结果了