`
在水伊方
  • 浏览: 110612 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

ORACLE中的触发器

 
阅读更多

 触发器是当特定的SQL DML语句,如INSERT、UPDATE或DELETE语句在特定的数据库表上运行时,有数据库自动运行(自动激活)的过程,创建触发器的语法如下:

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF} trigger_event
ON table_name
FOR EACH ROW[WHEN trigger_condition]
BEGIN
  trigger_body
END trigger_name;

OR REPLACE说明如果该触发器已经存在,则用新的触发器代替它,该选项可以用来修改一个现有触发器

trigger_name指定触发器名

BEFORE指定触发器在触发事件运行之前激活。AFTER指定触发器在触发事件运行之后激活。INSTEAD OF指定用触发器代替触发事件的运行

trigger_event指定激活触发器的事件

table_name指定触发器引用的表

FOR EACH ROW指定触发器是一个行级触发器,即当触发器激活时,trigger_body包含的代码会为每一行运行一次。如果忽略了FOR EACH ROW,则触发器是一个语句级触发器,即不管所作用的行有多少,当触发器激活时,trigger_body中包含的代码只运行一次

trigger_condition指定限制触发器实际运行的布尔条件

trigger_body中包含实现触发器功能的SQL和PL/SQL代码


下面的触发器将在emp2表的sal列发生变化时触发, 

SET SERVEROUTPUT ON;
CREATE OR REPLACE TRIGGER tri_update_emp2_sal
BEFORE UPDATE OF sal
  ON emp2
  FOR EACH ROW WHEN (new.sal != old.sal)
    BEGIN
      dbms_output.put_line('工资被更改');
  END tri_update_emp2_sal;
/

 

执行以下语句时将激活tri_update_emp2_sal触发器:

UPDATE emp2 SET sal = 1200 WHERE empno = '7369';

 

获取触发器的相关信息:

SELECT * FROM user_triggers WHERE trigger_name = 'TRI_UPDATE_EMP2_SAL';

 

禁用和启用触发器:

--禁用
ALTER TRIGGER tri_update_emp2_sal DISABLE;
--启用
ALTER TRIGGER tri_update_emp2_sal ENABLE;

 

删除触发器:

DROP TRIGGER tri_update_emp2_sal;

  

分享到:
评论

相关推荐

    ORACLE中触发器和存储过程介绍相关代码

    在Oracle数据库系统中,触发器(Triggers)和存储过程(Stored Procedures)是两种非常重要的数据库对象,它们在数据管理、业务逻辑实现以及数据验证等方面起着关键作用。本资源包含与"ORACLE中触发器和存储过程介绍...

    ORACLE中触发器和存储过程介绍

    ### ORACLE中触发器和存储过程介绍 #### 一、Oracle简介 Oracle是一款提供数据库创建与管理功能的强大软件。它不仅支持关系型数据库,还具备对象型数据库的特点。Oracle允许用户利用自带的OUI(Oracle Universal ...

    利用 Oracle 系统触发器防止误删除表操作

    在Oracle 10g环境中,可以创建一个系统级别的触发器,用于阻止非`SYS`用户执行`DROP TABLE`或`TRUNCATE TABLE`命令。 #### 创建触发器脚本 ```sql CREATE OR REPLACE TRIGGER TRIGGER_UNDROPTABLE BEFORE DROP OR ...

    oracle_触发器的种类和触发事件

    Oracle触发器是一种特殊的存储过程,它可以在数据库中自动执行一些操作,主要用于实现数据的完整性、数据的安全性和业务逻辑的实现。触发器可以分为四种类型:DML触发器、DDL触发器、替代触发器和数据库事件触发器。...

    调试oracle触发器方法

    调试Oracle触发器是开发和维护数据库应用程序时的重要步骤,可以帮助我们找出潜在的错误和逻辑问题。下面我们将详细探讨如何调试Oracle触发器。 1. **PL/SQL Developer工具调试**: - PL/SQL Developer是一款强大...

    oracle触发器的创建与使用

    【Oracle触发器的创建与使用】是数据库管理中不可或缺的一部分,尤其在Oracle数据库系统中,触发器扮演着关键角色。触发器是一种存储过程,当特定的数据库事件发生时(如INSERT、UPDATE或DELETE操作),它会被自动...

    oracle 触发器实时调用java 中http接口

    总之,"Oracle触发器实时调用Java中HTTP接口"是一个数据库与应用程序实时通信的示例,涉及Oracle的触发器、存储过程和UTL_HTTP包,以及Java HTTP服务器的设计和实现。这样的设计需要对Oracle PL/SQL和Java网络编程有...

    Oracle Form 触发器的执行顺序

    在本文中,我们将详细介绍 Oracle Form 触发器的执行顺序,并对每个触发器的执行过程进行详细的解释。 1. 当打开 FORM 时: 在打开 FORM 时,会执行以下触发器: (1)PRE-FORM:在 FORM 打开时执行的触发器。 (2...

    Oracle中通过触发器来追踪用户的活动

    Oracle从Oracle8i开始引入了一类特殊触发器,它们不再局限于传统的DML事件,而是扩展到了系统级别,包括数据库启动触发器、DDL触发器和用户登录/注销触发器。这些触发器为数据库审计提供了新途径,特别是用户登录/...

    关于oracle触发器before和after的应用问题

    本文旨在深入解析Oracle触发器中的Before和After两种触发时机,以及它们在数据库管理和维护中的具体应用。 #### 触发器概述 触发器类似于过程和函数,具有声明、执行和异常处理的部分,但其独特之处在于由特定事件...

    oracle数据库触发器实例

    在Oracle数据库中,触发器是一种存储过程,它被设计为当特定事件(如数据插入、更新或删除)发生时自动执行。触发器可以用于执行复杂的业务逻辑或者数据完整性检查等操作。本文将通过三个具体的例子来展示如何创建和...

    Oracle触发器修改自身表

    1、行级触发器不支持 ...所以想要触发器对自身表数据做修该,则用行级触发器得到 :new 和 :old对象中的相关数据,然后将这样的数据保存到 package中,然后在语句级触发期中调用 package包中保存的数据,进行更新操作

    oracle创建触发器实例

    Oracle 创建触发器是一种数据库编程技术,用于在特定的数据库事件发生时自动执行一段代码。在这个实例中,我们看到的是一个防止非本地机器执行DDL(Data Definition Language)操作的触发器,比如`TRUNCATE`、`ALTER...

    oracle函数触发器游标等几个小例子

    在`oracle触发器语法.txt`中,你应该能找到关于触发器的创建、删除以及不同类型的触发器(如行级和语句级)的详细语法。 通过学习这些例子,你将能够更好地理解和应用Oracle中的函数、游标和触发器。实践是掌握这些...

    Oracle DML触发器在数据库编程中的应用.pdf

    Oracle DML 触发器在数据库编程中的应用 Oracle DML 触发器是关系型数据库系统中的一个重要组件,能够自动执行特定的操作,以响应数据库中的变化。本文将对 Oracle DML 触发器的工作原理、类型、使用方法等进行详细...

    Oracle中触发器示例详解

    在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是...

    个人亲测oracle触发器调用java程序

    Oracle触发器是Oracle数据库中的一种机制,可以在数据库中执行特定的操作。在本文中,我们将介绍如何使用Oracle触发器调用Java程序。 一、加载Java程序 首先,我们需要将Java程序加载到Oracle数据库中。我们可以...

    Oracle触发器语法详解

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

    oracle中记录用户登录信息的触发器的例子

    ### Oracle中记录用户登录信息的触发器实例解析 #### 一、背景介绍 在Oracle数据库管理中,确保数据安全是一项至关重要的任务。其中,记录用户的登录信息(如登录时间、用户名和客户端IP地址等)可以帮助管理员更...

    oracleDML触发器.ppt

    Oracle DML 触发器是 Oracle 中的一种机制,它可以在特定的事件发生时自动执行某些操作。触发器可以分为 DML 触发器、系统事件触发器、用户事件触发器、管理触发器等几种。 触发器的组成部分包括触发器名称、触发器...

Global site tag (gtag.js) - Google Analytics