Oracle PL / SQL触发器仅在9-5小时后对数据进行更改时才会运行

时间:2013-03-20 21:20:08

标签: oracle plsql triggers

我已经创建了一个基本的审计表,这样如果对'Employee'表有任何更改,他们就会插入,更新,删除,时间,用户以及操作在“审计员工”中存储的内容表

我只是想知道是否有可能触发器只会在'员工'表上的更改发生在下午5点到早上7点之后才会触发?

有没有人有任何想法可能会使用SYSDATE?

由于

1 个答案:

答案 0 :(得分:3)

您无法控制触发器是否会根据一天中的时间触发。但是,您可以向触发器添加逻辑,以便仅在特定小时之间将数据插入历史记录表。像

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