甲骨文的PL / SQL触发器只运行,如果9-5小时后对数据所作的更改(Oracle PL/SQL

2019-10-17 21:19发布

我创建了一个基本的审核表,所以,如果有任何一个“雇员”表中的任何改变是他们插入,更新,删除,时间,用户,什么动作都存储在“审计员工表。

我只是想知道,如果有可能,这样,如果在“雇员”表中所做的更改均说,下午5点后,早上7点之前触发只会火?

没有人有任何想法如何,这将有可能使用SYSDATE可能吗?

谢谢

Answer 1:

你无法控制触发器是否会触发基于一天的时间。 你可以,但是,添加逻辑来触发,所以你只将数据插入某些小时之间的历史表。 就像是

IF( to_number( to_char(sysdate, 'hh24')) >= 17 or
    to_number( to_char(sysdate, 'hh24')) < 7 )
THEN
  INSERT INTO employee_history...
END IF;


文章来源: Oracle PL/SQL Trigger to only run if changes made to data after 9-5 hours