问题描述
- oracle触发器定时执行
-
请高手帮忙写一个触发器,当表中插入数据时,一段时间后(3分钟或者5分钟)自动
修改表中最新数据(有插入时间字段)的某个字段为false或者为1;
解决方案
等我回实验室,现在在上课
解决方案二:
在Oracle的触发器中执行DDL语句
oracle 一个表上的多个触发器的执行顺序
解决方案三:
触发器是针对表格中有数据新增修改和删除时触发的程序,那只是一瞬间的事情,oracle有一个dbms_lock.sleep(10);休眠功能,
但是如果一次性新增了100笔数据,那这100程序都在运行,而且坚持运行3分钟,这无形中加重了数据库的负担。
建议:写一个procedure,新建一个job,频率是3分钟,3分钟运行一次这个procedure,去修改新插入的数据标示栏位
create or replace procedure xxx_proc as
begin
update table set flag = '1' where flag <> '1';
end;
至于你说的最新数据,如果每次都更新标示为1,那没标示的数据就是最新的
时间: 2025-01-02 15:19:55