17,082
社区成员
发帖
与我相关
我的任务
分享
SQL> create table test(id int, realtime int, applytime int, timecy int);
Table created
SQL> create trigger tri_test_iu
2 before insert or update on test
3 for each row
4 begin
5 :new.timecy := :new.realtime - :new.applytime;
6 end;
7 /
Trigger created
SQL> begin
2 insert into test(id, realtime, applytime) values(1, 10, 8);
3 insert into test(id, realtime, applytime) values(2, 5, 0);
4 end;
5 /
PL/SQL procedure successfully completed
SQL> select * from test;
ID REALTIME APPLYTIME TIMECY
---------- ---------- ---------- ----------
1 10 8 2
2 5 0 5
SQL> update test set applytime = 3 where id = 1;
1 row updated
SQL> select * from test;
ID REALTIME APPLYTIME TIMECY
---------- ---------- ---------- ----------
1 10 3 7
2 5 0 5
SQL> drop table test purge;
Table dropped
SQL>