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

Oracle触发器中when语句的用法

阅读更多

案例:scott.emp表的销售员工资只能增加,不能减少

代码:

CREATE OR REPLACE TRIGGER tr_emp_upd
BEFORE UPDATE OF sal
ON emp
FOR EACH ROW

--当更新销售员时才触发
WHEN (OLD.job='SALESMAN')
DECLARE
BEGIN
  IF(:NEW.sal<:OLD.sal) THEN
    raise_application_error(-20013,'销售员工资不能降低!');
  END IF;
END;

 


运行情况:
SQL> update emp set sal=sal-1000 where job='MANAGER';

3 rows updated

SQL> update emp set sal=sal-1000 where job='SALESMAN';

ORA-20013: 销售员工资不能降低!
ORA-06512: 在"SCOTT.TR_EMP_UPD", line 4
ORA-04088: 触发器 'SCOTT.TR_EMP_UPD' 执行过程中出错

分享到:
评论

相关推荐

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

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

    Oracle触发器 实例讲解

    Oracle 触发器实例讲解 Oracle 触发器是一种特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。它主要有以下几个功能: 1. 允许/限制对表的修改:触发器可以控制对表的修改操作,...

    oracle触发器

    ### Oracle触发器详解 在Oracle数据库管理中,触发器是一种非常强大的工具,它允许你在特定的数据库事件(如数据插入、更新或删除)发生时自动执行预定义的SQL语句或PL/SQL代码块。这使得数据库能够在无需外部程序...

    Oracle触发器与存储过程高级编程

    在深入探讨《Oracle触发器与存储过程高级编程》这一主题之前,我们首先应当明确Oracle数据库在企业级应用中的核心地位。Oracle数据库以其强大的数据处理能力、高可用性和安全性,成为众多大型企业和组织首选的数据...

    ORACLE触发器、内置程序包教学.doc )

    根据给定的文件信息,我们将深入探讨Oracle数据库中的触发器和内置程序包,重点解析触发器的概念、创建方法以及其在数据库管理中的作用。 ### 触发器:自动化执行的存储过程 触发器是一种特殊类型的存储过程,它在...

    oracle触发器与存储过程高级编程

    总之,“Oracle触发器与存储过程高级编程”是数据库开发中的重要技能,理解它们的工作原理、如何创建和使用,以及何时应该避免使用,对于提升数据库管理效率和数据安全性至关重要。通过实践和学习,你可以更好地掌握...

    Oracle触发器详解

    在数据库管理系统中,Oracle触发器是一种特殊类型的存储过程,它自动执行对数据的操作,当特定事件发生时(如插入、更新或删除数据)在数据库表上执行。触发器可以用于实现复杂的数据完整性规则、审计跟踪、性能优化...

    开发篇之Oracle触发器心得

    Oracle触发器是数据库中的一个重要组成部分,它们允许开发者在特定的数据操作发生时执行自定义的PL/SQL代码。在Oracle数据库中,触发器主要分为三类:INSERT、UPDATE和DELETE,分别对应于数据插入、更新和删除时的...

    oracle触发器实现二维码

    在这个场景中,我们讨论的是如何利用Oracle触发器来实现二维码的生成与存储。 首先,"oracle触发器实现二维码"这个标题意味着我们将结合Oracle数据库和二维码技术。二维码(Quick Response Code,简称QR Code)是一...

    oracle练习题关于触发器的作业

    Oracle数据库是世界上最流行的数据库管理系统...通过解决这个"oracle练习题关于触发器的作业",你将深化对Oracle触发器的理解,并提升数据库管理技能。请仔细研究每个题目,逐步解答,不断实践,相信你会从中受益匪浅。

    oracle触发器.ppt

    Oracle触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)或者特定的系统事件(如数据库启动和关闭)发生时,自动执行预定义的PL/SQL代码块。触发器是存储在数据库中...

    oracle触发器1.ppt

    Oracle触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作发生时自动执行预定义的PL/SQL代码。这种技术在Oracle数据库系统中广泛使用,以实现数据的完整性、业务规则的强制以及复杂的逻辑处理。 ...

    触发器使用教程和命名规范

    * 触发器可以使用 WHEN 子句来指定触发条件。 Oracle 触发器的命名规范: * 触发器的命名应遵循一定的规范,例如使用 TR_ 或者 TGR_ 作为前缀。 * 触发器的命名应与表名相关,例如 TR_EMPLOYEE_INSERT。 Oracle...

    Oracle触发器

    Oracle触发器是数据库管理系统Oracle中的一个重要特性,它允许在特定事件(如数据修改DML操作:INSERT、UPDATE或DELETE)发生时自动执行预定义的PL/SQL代码块。触发器可以用来实现复杂的业务规则,审计跟踪,或者在...

    oracle触发器.doc

    Oracle触发器是数据库对象,...总之,Oracle触发器是一种强大的工具,可以增强数据库的管理能力,但使用时需谨慎,确保它们不影响系统的稳定性和性能。正确设计和使用触发器,可以极大地提高数据管理的灵活性和安全性。

    16.Oracle触发器1

    Oracle触发器是数据库对象,它是一种在特定事件发生时自动执行的存储过程。触发器的执行无需用户显式调用,而是由数据库系统在特定事件(如DML操作或DDL操作)触发时隐式运行。触发器由三部分组成:触发条件(即触发...

    Oracle触发器.pdf

    本篇文章详细介绍了Oracle触发器的创建、使用以及触发器的分类和具体实现。 一、触发器的基本概念 在Oracle数据库中,触发器(Trigger)是存储在数据库中的一个特殊类型的程序,它会在满足特定条件时自动执行。这些...

    oracle 触发器

    Oracle触发器是数据库对象,它在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行,可以用于实现复杂的业务逻辑和数据完整性约束。触发器由触发器语句、触发器限制和触发器操作三部分构成。 1. **...

Global site tag (gtag.js) - Google Analytics