简单的oracle触发器例子
---术前访视术后随访触发器
create or replace trigger t_update_trigger
after update or insert or delete
on MED_SMARTREPORT_TEMPLATE
for each row
declare
stateCount number;
begin
select count(1) into stateCount from MED_Template_State where ReportTemplateID=:NEW.ReportTemplateID;
if stateCount>0 then
update MED_Template_State set ReportState=ReportState+1 where ReportTemplateID=:NEW.ReportTemplateID;
else
insert into MED_Template_State(ReportTemplateID,ReportState) values(:NEW.ReportTemplateID,1);
end if;
end;
select * from MED_Template
select * from MED_ANESTHESIA_INPUT_DICT for update;
---数据字典触发器
create or replace trigger trigger_MEDANESTHESIAINPUTDICT
after insert or update or delete
on MED_ANESTHESIA_INPUT_DICT
for each row
declare
stateCount number;
begin
select count(1) into stateCount from MED_Template_State where ReportTemplateID=3;
if stateCount>0 then
update MED_Template_State set ReportState=ReportState+1 where ReportTemplateID=3;
else
insert into MED_Template_State(ReportTemplateID,ReportState) values(3,1);
end if;
end;
--select * from MED_Template_State
select * from MED_ANAESTHESIA_DICT for update;
select * from MED_Template_State
---麻醉字典触发器
create or replace trigger trigger_MEDANAESTHESIADICT
after insert or update or delete
on MED_ANAESTHESIA_DICT
for each row
declare
stateCount number;
begin
select count(1) into stateCount from MED_Template_State where ReportTemplateID=4;
if stateCount>0 then
update MED_Template_State set ReportState=ReportState+1 where ReportTemplateID=4;
else
insert into MED_Template_State(ReportTemplateID,ReportState) values(4,1);
end if;
end;
分享到:
相关推荐
### Oracle触发器语法要点 #### 一、触发器概述 Oracle触发器是一种存储过程,它在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器可以用于实施复杂的业务规则、数据完整性检查或者自动生成...
3. **Oracle触发器**:触发器是一种特殊的存储过程,会在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。`V_InsertEquip.sql`可能包含一个插入触发器的示例,这种触发器在向特定表中插入新数据时被...
本篇文章将探讨如何在Oracle触发器中调用Java程序,以扩展数据库的功能并利用Java丰富的库资源。 首先,我们需要了解Oracle的PL/SQL(Procedural Language/Structured Query Language)语言,它是Oracle数据库内置...
本文将通过一个具体的例子来展示如何在Oracle数据库中创建一个触发器,用于自动记录用户的登录信息。 #### 二、需求分析与设计 假设我们正在为一家企业开发一个基于Oracle数据库的安全管理系统。为了提高系统的...
根据给定的文件信息,我们将深入探讨Oracle数据库中的触发器和内置程序包,重点解析触发器的概念、创建方法以及其在数据库管理中的作用。 ### 触发器:自动化执行的存储过程 触发器是一种特殊类型的存储过程,它在...
以下是一个简单的例子,展示了如何创建一个触发器来处理二维码的生成和存储: ```sql CREATE OR REPLACE TRIGGER qr_insert_trigger AFTER INSERT ON qr_codes_table FOR EACH ROW BEGIN DECLARE v_blob BLOB; v...
本文将通过三个具体的例子来展示如何创建和使用Oracle数据库中的触发器。 #### 二、示例1:记录表变更日志 **目的**:记录对`test`表进行插入、更新和删除操作的日志信息。 **步骤**: 1. **创建表**:首先创建`...
Oracle触发器是数据库管理系统Oracle中的一个重要特性,它允许在特定事件(如数据修改DML操作:INSERT、UPDATE或DELETE)发生时自动执行预定义的PL/SQL代码块。触发器可以用来实现复杂的业务规则,审计跟踪,或者在...
Oracle 创建触发器是一种数据库编程技术,用于在特定的数据库事件发生时自动执行一段代码。在这个实例中,我们看到的是一个防止非本地机器执行DDL(Data Definition Language)操作的触发器,比如`TRUNCATE`、`ALTER...
在“Oracle触发器与存储过程高级编程”中,我们将深入探讨这两个概念以及相关的高级特性。 首先,让我们关注用户自定义运算符(User-Defined Operators)。这些运算符允许开发人员扩展SQL语言,创建符合特定业务...
Oracle触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行一段预定义的SQL代码或PL/SQL块。这对于实现业务规则、数据验证、日志记录等场景非常有用。...
Oracle触发器是数据库管理系统Oracle中的一个关键特性,用于在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的PL/SQL代码。触发器可以用来强制执行业务规则、实现复杂的数据验证和同步操作,...
根据提供的文件信息,本文将详细解释Oracle触发器的相关知识点,包括触发器的基本概念、类型以及在实际场景中的应用示例。 ### Oracle触发器基础 触发器是数据库管理系统中的一种存储过程,它会在特定的数据库事件...
Oracle触发器是数据库对象,它是一种在特定事件发生时自动执行的存储过程。触发器的执行无需用户显式调用,而是由数据库系统在特定事件(如DML操作或DDL操作)触发时隐式运行。触发器由三部分组成:触发条件(即触发...
总结来说,这个Oracle监控表变动触发器例子是通过创建一个触发器来实时捕获对`test_table`的DML操作,并将这些操作的信息存入历史表`test_table_h`。这种方法可以有效地跟踪数据的变动,确保数据完整性,并且有助于...
有时我们需要控制用户对表执行DDL操作,包括truncate等操作。为了达到灵活控制的目的,我们使用了DDL trigger
在深入探讨ORACLE触发器语法之前,我们先来理解一下触发器的基本概念。触发器是数据库中的一个存储过程,它会在特定的事件(如数据插入、更新或删除)发生时自动执行。ORACLE触发器是一种强大的工具,允许数据库管理...
在Oracle数据库系统中,存储过程、触发器和定时器是三个关键的数据库管理工具,它们在数据处理和业务逻辑执行中扮演着重要角色。本文将详细介绍这三个概念,并结合实际例子来帮助理解它们的工作原理和应用。 1. **...
数据库中的触发器,从简单到复杂,只需急着这些例子,从浅入深学习