在Oracle中想要插入数据或更新数据时能够自动更新时间,需要使用使用触发器,此处使用的工具时plsql
1.建表
create table .rm_catalog(
id varchar(64) primary key,
name varchar(256),
fatherid varchar(64),
cratetime date default sysdate,-- 创建
updatetime date default sysdate,--修改数据的最新时间
);
commit;
2.创建表后,直接在sql脚本中运行即可,每个表可以有多个触发器,但不能同时创建多个触发器
--插入数据时更新触发器
create or replace trigger create_time_triggr -- 触发器名称
before insert
on RM_CATALOG
for each row
declare
-- local variables here
begin
select sysdate into:NEW.cratetime from dual; -- NEW 表示 当前改变或插入的行
end create_time_triggr;-- 触发器的创建 不能在 后边 添加 commit;语句 ,会导致错误
--插入数据或更新数据时更新触发器
create or replace trigger update_time_triggr
before insert or update
on rm_catalog
for each row
declare
begin
select sysdate into:new.updatetime from dual;
end update_time_tirggr;