oracle触发器定时执行

问题描述

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

oracle触发器定时执行的相关文章

Oracle定时执行存储过程(转)

  定时执行存储过程在平时开发中经常会用到,年前的时候自己也做了一个,由于时间关系一直没能记录,现记录下来.       首先用一个完整的例子来实现定时执行存储过程.  任务目标:每小时向test表中插入一条数据  实现方案:     1.通过 oracle 中 dbms_job 完成存储过程的定时调用     2.在存储过程中完成相应的逻辑操作  实现步骤:   1.创建一个测试表 create table test(dTime date);     2.创建一个存储过程 create or

最简单的方法实现ORACLE的定时备份

oracle|备份|定时 不用第三方工具,如何实现ORACLE的定是备份(逻辑备份)?以前曾在这篇文章http://blog.csdn.net/great_domino/archive/2005/01/18/257414.aspx里点到一下,但没细化的说!现在将方法告诉大家,当然是针对那些新手来说!首先创建一个批处理文件 databack.bat 文见内容只要2行,如下 @echo offStart exp domino/great_domino@domino full=y file=d:\ba

oracle触发器及数据库触发简介

触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行.即触发器是当某个事件发生时自动地隐式运行.并且,触发器不能接收参数.所以运行触发器就叫触发或点火(firing).ORACLE事件指的是对数据库的表进行的INSERT.UPDATE及DELETE操作或对视图进行类似的

oracle触发器如何使用

  触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们.触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 1.说明 1)触发器是一种特殊的存储过程,触发器一般由事件触发并且不能接受参数,存储器由语句块去调用 2)触发器分类: 1.DML触发器: 创建在表上,由DML事件引发 2.instead of触发器: 创建在视图上并且只能在行级上触发,用于替代insert,delet

Oracle中获取执行计划的几种方法分析

以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下   1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中. 首先,在你要执行的SQL语句前加explain plan for,此时将生成的执行计划存储到计划表中,语句如下: explain plan for SQL语句然后,在计划表中查询刚刚生成的执行计划,语句如下: select * from table(

Oracle触发器简单实现

[oracle]触发器简单实现   目标:实现实时备份uertest表数据至usertest_temp中,两表结构一致 解决:用oracle触发器实现同步   结果:   1.建表   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [sql] -- 简单的用户表  create table USERTEST  (    NAME     VARCHAR2(20) not null,    AGE      NUMBER,    ISDELETE VARCHAR2(4

Oracle触发器不能读取表的问题

问题描述 Oracle触发器不能读取表的问题 12.假设有这样一张用户表表结构如下:UserInfo(id ,username,userPass),希望向表中增加数据时,表中id列的数字自动生成.(选做) 1)第一步创建序列,要求开始的数字为1,每次递增1,按顺序产生序列值: 2)第二步创建一个触发器,向用户表中插入数据的时候触发触发器,在触发器内部调用序列并生成一个序列值赋值给表的id列. 触发器: create or replace trigger pro_id after insert o

无效-oracle触发器中使用like语句,和hibernate共同使用时失效,怎么办?

问题描述 oracle触发器中使用like语句,和hibernate共同使用时失效,怎么办? 我定义了一个触发器,主要功能是做一个表数据的同步,如果直接用toad增加数据,触发器可正常执行,但是靠hibernate新增数据之类,触发器中like语句一直返回false的结果.求解决办法!! 下面是我的触发器: CREATE OR REPLACE TRIGGER NOTXSI AFTER INSERT ON ELEMENT REFERENCING NEW AS NEW OLD AS OLD FOR

Oracle触发器用法实例详解_oracle

本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需要说明一下,触发器可以分为语句级触发器和行级触发器.详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发.而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次. 具体举例: 1.