create or replace trigger tg_E_CONTACT
before instead of update or instead of insert or instead of delete on E_CONTACT
for each row
begin
if inserting then
insert into E_CONTACT@gaac.world
values
(:new.TELEPHONE, :new.EMPLOYEEID, :new.STATUS);
else
if updating then
update E_CONTACT@gaac.world s
set s.TELEPHONE = :new.TELEPHONE,
s.EMPLOYEEID = :new.EMPLOYEEID,
s.STATUS = :new.STATUS
where s.employeeid = :old.employeeid;
else
if deleting then
delete from E_CONTACT@gaac.world s
where s.employeeid = :old.employeeid;
end if;
end if;
end if;
end;
分享到:
相关推荐
- INSTEAD OF触发器:当试图在视图上执行DML操作时,实际操作在触发器中定义,例如可以模拟复合主键的检查。 - 语句级触发器示例1:在删除salary表记录时,同步更新其他表的相关信息。 - 语句级触发器示例2:统计...
- **替代触发器**(INSTEAD OF):仅应用于视图,当试图在视图上执行INSERT、UPDATE或DELETE时,替代实际的DML操作执行自定义的行为。 2. **DML触发器的要点**: - **触发表**:触发器与特定的表相关联,对表上的...
2. 替代触发器(INSTEAD OF):这种触发器主要应用于视图,允许在对视图执行DML操作时,实际操作底层的数据表。因为直接对多表联接的视图进行DML操作通常是不允许的,替代触发器提供了处理此类操作的方法。 3. 系统...
* INSTEAD OF 触发器:触发器可以在视图上执行,例如在插入、更新或删除操作时。 Oracle 触发器的语法和功能: * 触发器的语法类似存储过程,使用 CREATE TRIGGER 语句创建。 * 触发器可以执行多种操作,例如插入...
3. **Instead Of**:仅适用于视图和Ref Cursors,用于替代对视图或Ref Cursor的操作。 触发器的基本语法结构如下: ```sql CREATE [OR REPLACE] TRIGGER trigger_name [BEFORE | AFTER | INSTEAD OF] event [FOR ...
INSTEAD OF触发器常用于视图上,当视图不允许直接插入、更新或删除记录时,通过触发器定义可以间接实现这些操作: ```sql CREATE OR REPLACE TRIGGER instead_of_insert_trigger INSTEAD OF INSERT ON productinfo_...
2. **替代触发器**(INSTEAD OF):这种触发器主要用于视图,当尝试对视图执行DML操作时,替代触发器会替代实际的操作,执行自定义的逻辑。 3. **系统触发器**:Oracle 8i引入的系统触发器可以在数据库级别的事件中...
Oracle DML触发器是数据库管理系统Oracle中的一种特性,它允许开发者在特定的数据操作语言(DML)事件(如INSERT、UPDATE、DELETE)发生时自动执行一段PL/SQL代码。DML触发器主要用于实现数据完整性、业务规则的强制...
2. **INSTEAD OF触发器**:替代操作,当触发事件发生时,执行触发器内的替代语句,而不是原始的DML语句。 3. **系统事件触发器**:响应数据库级别的事件,如启动、关闭等。 **创建触发器** 创建触发器使用`CREATE ...
在Oracle数据库中,**Instead-of触发器**主要用于处理视图上的数据操作语言(DML)操作,如`INSERT`、`UPDATE`或`DELETE`。由于视图本身不是实际的数据存储结构,而是基于一个或多个基础表通过查询构建的逻辑表,...
其中,`AFTER` 和 `BEFORE` 指定触发器是在事件发生后还是前执行,`INSTEAD OF` 则用于视图,意味着触发器的执行将替代原本的操作。`REFERENCING` 子句允许引用新行和旧行,而 `FOR EACH ROW` 表明触发器将对每行...
- **INSTEAD OF触发器**:替代DML操作,而不是在操作后响应,主要用于视图。 - **系统条件触发器**:响应特定的系统事件,如数据库启动或关闭。 - **用户事件触发器**:响应用户定义的事件,实现定制化的数据库...
3. **Instead of触发器**:这种触发器在试图对视图执行DML操作时触发,执行触发器中的代码而非用户的原始DML语句。 4. **模式触发器**:由数据定义语言(DDL)操作创建,如创建、修改或删除表、视图等。 创建DML...
2. **替代触发器(INSTEAD OF)**:这种触发器主要设计用于处理视图,因为直接对由多张表组成的视图进行DML操作通常是不允许的。替代触发器可以在试图上的DML操作发生时执行,代替实际的DML操作,使得对视图的更新...
- **INSTEAD OF**触发器:不直接执行DML操作,而是执行触发器中的PL/SQL代码来替代原始操作,适用于视图或物化视图。 4. **替代触发器(INSTEAD OF)** - 当在视图上需要执行DML操作时,可以使用INSTEAD OF触发器...
- `INSTEAD OF`触发器:用于视图,替代基本的DML操作。 3. **触发器示例** 创建一个更新员工薪水后记录审计日志的触发器: ```sql CREATE OR REPLACE TRIGGER log_salary_change AFTER UPDATE OF salary ON ...
本文主要讨论Oracle中的各类触发器,包括DML触发器、INSTEAD OF触发器、系统事件触发器和DDL触发器,以及它们的创建和使用方法。 1. DML触发器 DML触发器主要与INSERT、UPDATE和DELETE操作关联,它们在这些操作之前...
- **Instead of触发器**:不执行用户输入的DML语句,而是执行触发器内的代码,主要用于视图操作。 - **模式触发器**:由数据定义语言(DDL)语句触发,如CREATE、ALTER或DROP表。 2. **创建DML触发器的语法**: ...
- 视图word_view和触发器order_mast_insert,其中触发器作为INSTEAD OF UPDATE触发器,当对视图进行更新时执行,内部通过引用NEW来处理数据。 此外,文档还涉及到了序列(SEQUENCE)的使用,序列是Oracle中用于生成...