`

Oracle中的触发器

阅读更多
--Trigger:
--顾名思义,new是新插入的数据,old是原来的数据
--insert只会有new,代表着要插入的新记录
--delete只会有old,代表着要删除的记录
--update由于执行的是先删除旧的记录,再插入新的记录,因此new和old都会有,且含义与上面的相同 
--已有表examscore 表中总成绩应该等于期中成绩与期末成绩之和。 
--现在希望写一个触发器 在期中成绩或期末成绩改变时 总成绩随之改变  

--采取变量赋值的方法可以阻止变异表的事情,下面是例子
create table examscore(
  学号 varchar2(4) not null,
  姓名 varchar2(20),
  课程代码 varchar2(4) not null,
  课程名称 varchar2(30),
  期中成绩 number(3) default 0,
  期末成绩 number(3) default 0,
  总成绩 number(3) default 0
  );
  /
insert into examscore values('001','王军','058','计算机',60,80,140);
commit;

create or replace trigger SumScoreTri
before insert or update on examscore for each row
declare
v_sum eaxmscore.总成绩%type;
begin
v_sum := :new.期中成绩 + :new.期末成绩;
if(v_sum <> :new.总成绩 then
:new.总成绩 := v_sum;
end if;
end;
/

update examscore set 期末成绩=60 where 姓名='王军';
commit;


分享到:
评论

相关推荐

    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