`
linsea
  • 浏览: 90026 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle触发器增量提取

阅读更多
--insert触发器提取增量
--delete触发器提取增量
--update触发器提取增量


----先建立两个增量表:一个插入表,一个删除表.
create table emp_insert_incremental(
empno number(4),
ename varchar(10)
)

create table emp_delete_incremental(
empno number(4),
ename varchar(10)
)
----------------
create or replace trigger emp_insert_trigger
after insert
on emp
for each row

begin
 insert into emp_insert_incremental(empno,ename) values (:new.empno,:new.ename); 
end emp_insert_trigger;

---------------
insert into emp(empno,ename)values(100,'jjj');
insert into emp(empno,ename)values(200,'ppp');
insert into emp(empno,ename)values(300,'3as');
---------------

create or replace trigger emp_update_trigger
after update
on emp
for each row
begin
 insert into emp_insert_incremental(empno,ename) values (:new.empno,:new.ename); 
 insert into emp_delete_incremental(empno,ename) values (:old.empno,:old.ename); 
end emp_update_trigger;

----------------
update emp set ename='aaa' where empno=100;

---------------

create or replace trigger emp_delete_trigger
after delete
on emp
for each row
begin
insert into emp_delete_incremental(empno,ename) values (:old.empno,:old.ename); 
end emp_delete_trigger;

----------------------
delete from emp_delete_incremental where empno=200;



--=================================三个触发器合为一个触发器提取增量
create or replace trigger emp_incremental_trigger
after insert or update of empno,ename or delete
on emp
for each row
begin
 case
 when inserting then
  insert into emp_insert_incremental(empno,ename) values (:new.empno,:new.ename); 
 when updating then
  insert into emp_insert_incremental(empno,ename) values (:new.empno,:new.ename); 
  insert into emp_delete_incremental(empno,ename) values (:old.empno,:old.ename); 
 when deleting then
  insert into emp_delete_incremental(empno,ename) values (:old.empno,:old.ename); 
 end case;
end emp_incremental_trigger;

 

分享到:
评论

相关推荐

    CDC(Change Data Capture)增量抽取

    通过Oracle提供的CDC功能,可以在数据库级别实现高效的增量数据捕获与处理,无需对原始表结构进行更改,也不需要复杂的算法实现。这一特性自Oracle 9i版本起引入,旨在简化增量数据捕获流程,提高数据处理效率。 ##...

    Kettle实现增量抽取数据

    增量抽取是从源系统中提取自上次抽取以来发生改变的新数据或更新数据,而不是每次全量抽取所有数据,这样可以显著提高效率并减少网络和存储资源的消耗。在这个案例中,我们不依赖时间戳,可能需要用到其他的追踪机制...

    Kettle 增量式更新.docx

    今天,我们将探讨如何使用 Kettle 实现 Oracle 数据库的增量式同步,包括插入、更新和删除操作。 增量式更新方案 为了实现增量式同步,我们将使用 Kettle 的 Transformation 功能。该方案分为两个独立的 ...

    oracle复习及与sql server的比较等

    例如,SQL Server的Integration Services用于ETL(提取、转换、加载)操作,而Oracle则使用Data Pump。另外,SQL Server的备份和恢复工具与Oracle的RMAN在使用和概念上有所不同。 总的来说,Oracle和SQL Server各有...

    oracleOcp课程大纲

    Oracle OCP(Oracle Certified Professional)是Oracle公司推出的数据库管理员专业认证,旨在证明持证者具有管理和维护Oracle数据库的专业技能。以下是对Oracle 11g OCP课程大纲的详细解析: 一、Oracle Database ...

    Oracle Concepts 10g R2 pdf 中英文对照版

    - **信息整合解决方案**:Oracle的信息整合解决方案可以帮助企业从多个数据源中提取、转换和加载数据。 - **ETL工具**:Oracle提供了强大的ETL(Extract, Transform, Load)工具,用于处理复杂的数据整合任务。 ### ...

    Oracle基于日志的数据备份

    在ETL(提取、转换、加载)流程中,传统的增量抽取通常涉及在数据上添加时间戳、全记录比对或关键字段比对等方法,这些方法可能需要修改原有表结构或大量计算。Oracle 9i引入的CDC功能,直接在数据库层面提供了解决...

    Oracle软件在主机平台的应用-视频教程网盘链接提取码下载.txt

    - 存储过程、函数、触发器的创建与使用。 ##### 2. 体系结构 - **架构层次**:Oracle数据库具有多层架构,包括物理存储结构和逻辑存储结构。 - **关键组件**: - 表空间(Tablespace):数据库中最大的逻辑存储...

    oracle 10 Ora 10G 官方文档

    - RMAN(Recovery Manager)是Oracle的备份工具,支持完整、增量和差异备份,以及恢复操作。 - Data Pump用于数据迁移和导出导入,也可以用于备份。 以上只是Oracle 10g官方文档涵盖的一部分内容,实际文档中会更...

    oracle_day01_all.zip_oracle

    4. **数据库对象**:在Oracle中,数据库对象包括表、视图、索引、存储过程、触发器、游标等。`day01.sql`可能包含创建和管理这些对象的示例。 5. **PL/SQL编程**:PL/SQL块通常由声明部分、执行部分和异常处理部分...

    Oracle向Sybase ASE迁移指南

    - **数据提取**:从源Oracle数据库中提取数据。 - **转换**:根据目标数据库的需求对数据进行必要的转换处理。 - **加载**:将转换后的数据加载到新的Sybase ASE环境中。 #### 三、应用程序调整 完成数据迁移后,...

    Oracle导入导出.docx

    Oracle数据库的导入导出工具,即EXP和IMP,是Oracle...然而,对于大规模数据库或需要高效数据传输的情况,更推荐使用Data Pump(expdp和impdp),它们提供更高级的功能,如增量备份、并行导出等,以提高性能和效率。

    Oracle导入imp详解

    Oracle的导入实用程序(简称imp)是一种非常强大的工具,它允许用户从一个数据库中提取数据,并将其写入操作系统文件中,以便于数据迁移、备份或恢复等操作。通过imp,可以灵活地选择需要导入的对象类型,如表、索引...

    Oracle基础及详解

    Oracle提供了多种备份策略,如完整备份、增量备份和差异备份。了解RMAN(恢复管理器)和数据泵工具进行备份和恢复操作。理解数据保护的重要性,以及如何在灾难发生时恢复数据。 七、安全性管理 Oracle提供用户权限...

    关于oracleIP

    因此,本文将详细介绍如何通过索引和触发器在Oracle数据库中实现类似自增字段的功能。 #### 一、理解Oracle数据库的特性 Oracle是一种广泛使用的多模型数据库管理系统,由Oracle Corporation开发。它提供了一系列...

    oracle exp-imp命令详解.doc

    Oracle EXP(Export)命令用于从数据库中提取数据,生成一个二进制文件,通常称为DMP文件。DMP文件包含了表、索引、存储过程、触发器等对象的定义以及相关数据。在【标题】和【描述】中提到的三种备份模式是Oracle ...

    Oracle讲义集 含所有笔记

    3. **PL/SQL**:Oracle的Procedural Language/SQL是SQL的扩展,允许开发存储过程、函数、触发器等,用于实现复杂的业务逻辑和数据库交互。 4. **数据库管理**:这部分可能涉及数据库的创建、备份、恢复、性能优化、...

    ETL数据增量抽取方案.zip

    常见的增量抽取方法包括时间戳比较、变更日志捕获和数据库触发器。 2. **时间戳比较**:通过记录每个数据行的最后修改时间,当新抽取时,只提取这些时间戳之后的数据。 3. **变更日志捕获**:许多数据库系统提供了...

Global site tag (gtag.js) - Google Analytics