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 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。触发器可以基于数据库的值使用户具有操作数据库的某种权利,基于...
本示例通过使用子表和触发器来实现表A与表B之间的数据插入同步,以达到实时更新的效果。以下是对这个机制的详细解释: 1. **子表(CHILD表)**: 子表CHILD是用于存储表A和表B之间同步信息的中间表。它有四个字段...
接下来,创建一个名为`t1_trigger`的触发器,该触发器将在`t1`表上发生插入、更新或删除操作时执行。 ```sql CREATE OR REPLACE TRIGGER t1_trigger AFTER INSERT OR DELETE OR UPDATE ON t1 FOR EACH ROW DECLARE ...
如果需求非常有限,可以用数据触发器从一个数据库中向另一个数据库复制数据,如果数据复制需求仅与数据的插入有关,当一条记录插入到一个数据库中的某个基表中时,触发器可以将该记录复制到另一个数据库中的相应表中...
本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...
Oracle触发器是数据库管理系统Oracle中的一种重要特性,用于在特定数据操作(如插入、删除、更新)发生时自动执行预定义的SQL语句或PL/SQL代码块。这些语句或代码块通常用来实现复杂的数据完整性规则、安全性控制、...
分别创建增加、删除、更新的触发器(Trigger)来达到两张表之间数据同步的目的。 1:数据同步增加: 如有两张表...数据同步删除: 如有两张表——A表和B表,创建触发器使当A表删除数据后B表也同步删除数据。其中B表与
Oracle触发器是数据库管理系统Oracle中的一个重要特性,它允许开发者在特定的数据操作语言(DML)事件发生时自动执行预定义的PL/SQL代码。触发器主要用于实现数据的完整性、一致性控制,以及执行复杂的业务规则。...
"基于Oracle触发器的数据实时同步的实现——在员工医疗保险系统中" 本文主要讨论了基于Oracle触发器的数据实时同步的实现,在员工医疗保险系统中演示了数据同步的重要性和实现方法。随着全球化的发展,企业对数据...
接下来,我们可以创建一个触发器,当业务子系统中有新的数据插入或更新时,触发器会自动调用前面定义的存储过程来进行数据同步。 **示例存储过程:** ```sql CREATE OR REPLACE PROCEDURE sync_data AS BEGIN -- ...
Oracle触发器是数据库对象之一,它允许在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码。触发器是数据库级的程序,可以在数据更改前或后执行,用来实现复杂的业务规则和逻辑。在这个...
Oracle触发器是数据库管理系统Oracle中的一种重要特性,它允许开发者在特定的数据操作(如INSERT、UPDATE、DELETE)发生时执行自定义的逻辑。本章详细介绍了触发器的基础知识及其在数据库管理和信息系统中的应用。 ...
这种方法适用于将一个表的数据复制到另一个新表或者已存在的表中。基本语法如下: ```sql INSERT INTO table2 (column1, column2, ...) SELECT column1, column2, ... FROM table1 WHERE condition; ``` 在这里,`...
例如,当用户信息插入或更新时,会同步更新到`wflow.bpm_org_user`表中;而在用户被删除时,相应的关联信息也会在`wflow.bpm_org_jobusers`表中被更新。 总之,Oracle触发器是一种强大的工具,可以帮助开发人员在...
Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,具有精细和复杂的数据控制能力。触发器的概念和类型包括: 1. 安全性:基于数据库的值使用户具有操作数据库的某种权利,例如...
在这个例子中,触发器会在记录被插入、更新或删除时触发,并根据不同的操作类型执行相应的处理逻辑,例如更新另一个表中的统计数据。 通过上述示例可以看出,Oracle触发器是一种非常强大且灵活的机制,可以帮助维护...