一 触发器语法
触发器是特定事件出现的时候,自动执行的代码块。类似于过程,触发器与过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。
1、 允许/限制对表的修改
2、 自动生成派生列,比如自增字段
3、 强制数据一致性
4、 提供审计和日志记录
5、 防止无效的事务处理
6、 启用复杂的业务逻辑
触发器触发时间有两种:after和before。
1、触发器的语法:
CREATE [OR REPLACE] TIGGER触发器名 触发时间 触发事件
ON表名
[FOR EACH ROW]
BEGIN
pl/sql语句
END
其中:
触发器名:触发器对象的名称。
由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。
触发时间:指明触发器何时执行,该值可取:
before---表示在数据库动作之前触发器执行;
after---表示在数据库动作之后出发器执行。
触发事件:指明哪些数据库动作会触发此触发器:
insert:数据库插入会触发此触发器;
update:数据库修改会触发此触发器;
delete:数据库删除会触发此触发器。
表 名:数据库触发器所在的表。
for each row:对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。
二。实例
以下是每向表t_sta_bill增加一条数据,则向其他表(这里表为另一个数据库中的表)添加一条数据。(关于夸数据库的增删查改会在下面的文章中详细写到)
create or replace trigger t_t_sta_bill
after insert on t_sta_bill
for each row
DECLARE
-- local variables here
BEGIN
INSERT INTO t_sta_bill@MEDIADB
(FID,FMSGID,FWAITSENDID,FUNIID,FMSGTYPE,FORGADDR,FDESTADDR,FFEEUSERTYPE,FFEETERMINAL,FCONTENT,FGATEWAYID,FSERVICEID,FSERVICECODE,FCPSERVICEID,FFEETYPEID,FFEECODE,FREPORTFLAG,FMTFLAG,FGIVENCODE,FLINKID,FSUBMITSTATUS,FSUBMITDESC,FSUBMITTIME,FREPORTSTATUS,FREPORTDESC,FREPORTTIME,FSTATE)
VALUES (:NEW.fid,:NEW.FMSGID,:NEW.FWAITSENDID,:NEW.FUNIID,:NEW.FMSGTYPE);
END t_t_sta_bill;
分享到:
相关推荐
### Oracle触发器语法要点 #### 一、触发器概述 Oracle触发器是一种存储过程,它在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器可以用于实施复杂的业务规则、数据完整性检查或者自动生成...
"Oracle触发器语法详解" Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。触发器可以基于数据库的值使用户具有操作...
【Oracle触发器的创建与使用】是数据库管理中不可或缺的一部分,尤其在Oracle数据库系统中,触发器扮演着关键角色。触发器是一种存储过程,当特定的数据库事件发生时(如INSERT、UPDATE或DELETE操作),它会被自动...
### Oracle触发器Before和After应用详解 #### 引言 Oracle数据库系统中,触发器是一项核心功能,用于响应特定事件的自动执行代码块。本文旨在深入解析Oracle触发器中的Before和After两种触发时机,以及它们在...
总的来说,Oracle触发器是数据库设计和管理中的一个强大工具,它们允许开发人员创建复杂的业务逻辑,确保数据的准确性和一致性,同时增强系统的安全性。然而,由于触发器可能影响性能,因此在设计时需要谨慎,避免...
Oracle触发器语法.pdf
在`oracle触发器语法.txt`中,你应该能找到关于触发器的创建、删除以及不同类型的触发器(如行级和语句级)的详细语法。 通过学习这些例子,你将能够更好地理解和应用Oracle中的函数、游标和触发器。实践是掌握这些...
oracle 触发器语法及 for each row 详细说明
Oracle 高级语法是指在 Oracle 数据库管理系统中使用的高级语法结构,包括事务、函数、存储过程、触发器、异常等。这些语法结构是 Oracle 数据库开发和管理的核心内容,对于数据库开发者和管理员来说是必备的知识。 ...
下面将详细阐述Oracle触发器的基本语法和实例。 1. **触发器定义**: - 触发器由`CREATE TRIGGER`语句创建,它包括触发器名、触发事件、触发时间(BEFORE或AFTER)、触发条件和触发动作(PL/SQL代码块)。 - 示例...
"Oracle DML 触发器" ...Oracle DML 触发器是一种非常有用的机制,它可以自动执行某些操作、提高数据的一致性和安全性、减少开发者的工作量等。但是,在使用触发器时需要注意一些问题,如命名、限制条件、主体等。
PL/SQL触发器可以使用Oracle的触发器语法来编写,而Transact-SQL触发器则需要使用SqlServer的触发器语法。 例如,Oracle的PL/SQL触发器可以这样编写: ```plsql CREATE OR REPLACE TRIGGER employee_insert BEFORE...
3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三:INSTEAD OF触发器 6 7,例四:语句级触发器之一 8 8,例五:语句级触发器之二 9 9,例六:用包封装触发器代码 10 10,...
在深入探讨ORACLE触发器语法之前,我们先来理解一下触发器的基本概念。触发器是数据库中的一个存储过程,它会在特定的事件(如数据插入、更新或删除)发生时自动执行。ORACLE触发器是一种强大的工具,允许数据库管理...
Oracle 触发器的概念和类型 Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下几种作用: 1. ...
此外,如果在创建触发器时出现语法错误,可以通过检查SQL*Plus中的错误消息来定位问题所在。常见的错误包括括号不匹配、关键字拼写错误等。 #### 五、测试与验证 完成触发器的创建后,需要进行测试以确保其正常...
Oracle 触发器的语法和功能: * 触发器的语法类似存储过程,使用 CREATE TRIGGER 语句创建。 * 触发器可以执行多种操作,例如插入、更新、删除、合并等。 * 触发器可以使用 WHEN 子句来指定触发条件。 Oracle ...
通过以上介绍,我们可以看到Oracle触发器的强大功能和灵活性,它能够帮助我们实现复杂的业务逻辑,确保数据的完整性和安全性。然而,合理设计和管理触发器也非常重要,不当的使用可能会导致性能问题或难以调试的错误...
在这个“oracle触发器的创建和跨数据库查询”的主题中,我们将深入探讨如何创建触发器以及如何利用数据库链接(DB Link)进行跨数据库查询和操作。 首先,让我们了解如何创建Oracle触发器。触发器的创建通常涉及...
总的来说,Oracle DML触发器是数据库设计的重要组成部分,通过合理使用可以增强数据的一致性、安全性和业务流程的自动化。不过,由于触发器可能导致性能问题,因此在设计时需要谨慎考虑其影响,并尽量优化代码以减少...