`

oracle触发器(当插入或删除或修改一张表A时,能把新数据同步到另一张结构相同的表B里面)

阅读更多

create or replace trigger testT
  AFTER  INSERT OR UPDATE OR DELETE ON A
  for each row
declare
  -- local variables here
begin
  IF INSERTING THEN
     INSERT INTO b(a,b) VALUES(:NEW.a,:NEW.b);
  ELSIF DELETING THEN
    DELETE FROM b WHERE a=:OLD.a;
  ELSE
     UPDATE b SET b=:NEW.b WHERE a=:OLD.a;
  END IF;
end testT;

SQL> desc a
Name Type         Nullable Default Comments
---- ------------ -------- ------- --------
A    VARCHAR2(20) Y                        
B    VARCHAR2(20) Y                        

SQL> desc b;
Name Type         Nullable Default Comments
---- ------------ -------- ------- --------
A    VARCHAR2(20) Y                        
B    VARCHAR2(20) Y                        


SQL> insert into a values('a','b');

1 row inserted

SQL> commit;

Commit complete

SQL> select * from b;

A                    B
-------------------- --------------------
a                    b

SQL> update a set b='c' where a='a';

1 row updated

SQL> commit;

Commit complete

SQL> select * from b;

A                    B
-------------------- --------------------
a                    c

SQL> delete from a where a='a';

1 row deleted

SQL> commit;

Commit complete

SQL> select * from b;

A                    B
-------------------- --------------------

分享到:
评论

相关推荐

    Oracle触发器备份表数据

    在深入探讨如何利用Oracle触发器备份表数据之前,我们首先需要理解几个关键概念:Oracle数据库、触发器以及备份策略。Oracle数据库是全球领先的数据库管理系统之一,以其强大的性能、可靠的安全性和丰富的功能受到...

    Oracle触发器语法详解

    Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。触发器可以基于数据库的值使用户具有操作数据库的某种权利,基于...

    子表+触发器实现数据同步

    本示例通过使用子表和触发器来实现表A与表B之间的数据插入同步,以达到实时更新的效果。以下是对这个机制的详细解释: 1. **子表(CHILD表)**: 子表CHILD是用于存储表A和表B之间同步信息的中间表。它有四个字段...

    oracle触发器

    接下来,创建一个名为`t1_trigger`的触发器,该触发器将在`t1`表上发生插入、更新或删除操作时执行。 ```sql CREATE OR REPLACE TRIGGER t1_trigger AFTER INSERT OR DELETE OR UPDATE ON t1 FOR EACH ROW DECLARE ...

    Oracle触发器的概念和类型

    如果需求非常有限,可以用数据触发器从一个数据库中向另一个数据库复制数据,如果数据复制需求仅与数据的插入有关,当一条记录插入到一个数据库中的某个基表中时,触发器可以将该记录复制到另一个数据库中的相应表中...

    mysql-oracle数据同步

    本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...

    Oracle触发器语法

    Oracle触发器是数据库管理系统Oracle中的一种重要特性,用于在特定数据操作(如插入、删除、更新)发生时自动执行预定义的SQL语句或PL/SQL代码块。这些语句或代码块通常用来实现复杂的数据完整性规则、安全性控制、...

    数据库中两张表之间的数据同步增加、删除与更新实现思路

    分别创建增加、删除、更新的触发器(Trigger)来达到两张表之间数据同步的目的。 1:数据同步增加: 如有两张表...数据同步删除: 如有两张表——A表和B表,创建触发器使当A表删除数据后B表也同步删除数据。其中B表与

    oracle触发器实例

    Oracle触发器是数据库管理系统Oracle中的一个重要特性,它允许开发者在特定的数据操作语言(DML)事件发生时自动执行预定义的PL/SQL代码。触发器主要用于实现数据的完整性、一致性控制,以及执行复杂的业务规则。...

    基于Oracle触发器的数据实时同步的实现——在员工医疗保险系统中.pdf

    "基于Oracle触发器的数据实时同步的实现——在员工医疗保险系统中" 本文主要讨论了基于Oracle触发器的数据实时同步的实现,在员工医疗保险系统中演示了数据同步的重要性和实现方法。随着全球化的发展,企业对数据...

    浅析Oracle存储过程触发器在数据同步中的应用

    接下来,我们可以创建一个触发器,当业务子系统中有新的数据插入或更新时,触发器会自动调用前面定义的存储过程来进行数据同步。 **示例存储过程:** ```sql CREATE OR REPLACE PROCEDURE sync_data AS BEGIN -- ...

    oracle触发器的创建和跨数据库查询.zip

    Oracle触发器是数据库对象之一,它允许在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码。触发器是数据库级的程序,可以在数据更改前或后执行,用来实现复杂的业务规则和逻辑。在这个...

    Oracle触发器操作.pptx

    Oracle触发器是数据库管理系统Oracle中的一种重要特性,它允许开发者在特定的数据操作(如INSERT、UPDATE、DELETE)发生时执行自定义的逻辑。本章详细介绍了触发器的基础知识及其在数据库管理和信息系统中的应用。 ...

    Oracle复制表数据的两种用法

    这种方法适用于将一个表的数据复制到另一个新表或者已存在的表中。基本语法如下: ```sql INSERT INTO table2 (column1, column2, ...) SELECT column1, column2, ... FROM table1 WHERE condition; ``` 在这里,`...

    oracle触发器使用笔记

    例如,当用户信息插入或更新时,会同步更新到`wflow.bpm_org_user`表中;而在用户被删除时,相应的关联信息也会在`wflow.bpm_org_jobusers`表中被更新。 总之,Oracle触发器是一种强大的工具,可以帮助开发人员在...

    Oracle触发器基础教程.pdf

    Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,具有精细和复杂的数据控制能力。触发器的概念和类型包括: 1. 安全性:基于数据库的值使用户具有操作数据库的某种权利,例如...

    Oracle触发器好东东

    在这个例子中,触发器会在记录被插入、更新或删除时触发,并根据不同的操作类型执行相应的处理逻辑,例如更新另一个表中的统计数据。 通过上述示例可以看出,Oracle触发器是一种非常强大且灵活的机制,可以帮助维护...

Global site tag (gtag.js) - Google Analytics