实现目的:
当向表格中插入数据时,自动添加序号,以及系统日期和时间。序号、日期和时间都是为了方便后期的数据分析使用。
主要内容:
表格创建
序列创建
行触发器
环境 jetBrains的DataGrip , Oracle 11g
表格创建
create table new_test( id int primary key , riqi varchar2(20), shijian varchar2(20), info varchar2(20))
序列创建
create sequence newTest--start with 1--increment by 1--maxvalue 999999--cache 50--cycle
其他参数都是可选的,根据自己需要自行选择填写,这里我们都没用
行触发器
create or replace trigger tri_newtestbefore inserton new_testfor each rowwhen (new.id is null)beginselect newTest.nextval into :new.id from dual;select to_char(sysdate,'YYYY-MM-DD') into :new.riqi from dual;select to_char(sysdate,'HH24:MI:SS') into :new.shijian from dual;end;
效果
插入语句
insert into new_test values ('','','','test')
因为id,日期和时间都是在触发器中完成的,所有这里都是空的。
这里我们查询一下刚才插入的数据。