1. trigger 是自动提交的,不用COMMIT,ROLLBACK
2. trigger最大为32K,如果有复杂的应用可以通过在TRIGGER里调用PROCEDURE或FUNCTION来实现。
3. 语法CREATE OR REPLACE TRIGGER <trigger_name>
<BEFORE | AFTER> <ACTION>
ON <table_name>
DECLARE
<variable definitions>
BEGIN
<trigger_code>
EXCEPTION
<exception clauses>
END <trigger_name>;
/
4. 相关命令
create trigger
create any trigger
administer database trigger
alter any trigger
drop any trigger
5. 对列做触发(of)(行的触发是最常见的,不在这里列出
1 create or replace trigger tri_wwm
2 before update of id on wwm2 for each row
3 declare the_str VARCHAR2(40):='update on wwm2''s id
column';
4 begin
5 dbms_output.put_line(the_str);
6* end tri_wwm;
SQL> /
Trigger created.
SQL> update wwm2 set id=3;
update on wwm2's id column
1 row updated.
6. Referencing 别名
测试数据
SQL> select * from wwm2;
ID NAME
---------- ----------
1 wwm
2 china
建测试用日志表
1 create table wwm_log
2 (o_id number(8),o_name varchar2(10),
3 n_id number(8),n_name varchar2(10),
4* op_by varchar2(20),op_date date)
SQL> /
Table created.
建立 触发器
create or replace trigger tri_refer
after update of id on wwm2 referencing new as new old as
old for each row
begin
insert into wwm_log values
(:old.id,:old.name,:new.id,:new.name,sysdate,user);
end;
/
更新表以触发事件
SQL> update wwm2 set id=8 where id=2;
update on wwm2's id column
1 row updated.
SQL> select * from wwm_log;
O_ID O_NAME N_ID N_NAME OP_DATE
OP_USER
---------- ---------- ---------- ---------- ---------
-----------------
2 china 8 china 09-MAR-06
SYSTEM
大家可以用这个方法来对一些操作做日志
7.Disable/Enable
ALTER TRIGGER tri_refer DISABLE/ENABLE
ALTER TABLE wwm2 DISABLE/ENABLE ALL TRIGGERS;
ALTER TRIGGER tri_refer RENAME TO tri_reference;
分享到:
相关推荐
总之,"Oracle触发器实时调用Java中HTTP接口"是一个数据库与应用程序实时通信的示例,涉及Oracle的触发器、存储过程和UTL_HTTP包,以及Java HTTP服务器的设计和实现。这样的设计需要对Oracle PL/SQL和Java网络编程有...
在本文中,我们将介绍如何使用Oracle触发器调用Java程序。 一、加载Java程序 首先,我们需要将Java程序加载到Oracle数据库中。我们可以使用LOADJAVA命令来实现这一步骤。LOADJAVA命令位于$ORACLE_HOME/bin目录下,...
综上所述,使用Oracle触发器备份表数据是一种高效且灵活的方法,但同时也需要注意其潜在的局限性和挑战。通过合理设计和优化触发器,可以有效提升数据备份的效率和安全性,为数据库管理提供有力的支持。
"Oracle触发器调用存储过程" Oracle触发器可以调用...Oracle触发器调用存储过程可以通过使用自治事务来解决事务隔离性问题,确保业务逻辑的正确执行。但是,需要注意自治事务的使用规则和注意事项,以避免出现问题。
#### 解决方案:使用Oracle系统触发器 为了应对这类问题,可以通过创建Oracle系统触发器来实现对`DROP TABLE`和`TRUNCATE TABLE`命令的监控与阻止。以下详细介绍两种不同的Oracle版本(10g和8i)下如何创建相应的...
接下来,我们可以创建一个Oracle触发器来调用这个Java方法。例如,每当在表`MY_TABLE`上执行INSERT操作时,触发器会调用`MyJavaClass.doSomething`方法处理新插入的数据: ```sql CREATE OR REPLACE TRIGGER my_...
### Oracle触发器详解 在Oracle数据库管理中,触发器是一种非常强大的工具,它允许你在特定的数据库事件(如数据插入、更新或删除)发生时自动执行预定义的SQL语句或PL/SQL代码块。这使得数据库能够在无需外部程序...
根据给定的文件信息,我们将深入探讨Oracle数据库中的触发器和内置程序包,重点解析触发器的概念、创建方法以及其在数据库管理中的作用。 ### 触发器:自动化执行的存储过程 触发器是一种特殊类型的存储过程,它在...
通过这种方式,Oracle的触发器可以有效地监控和记录用户的活动,为系统管理员提供宝贵的数据,帮助他们识别使用模式、检测异常行为并优化系统资源的分配。不过,这种追踪机制也有其局限性,例如无法直接获取用户会话...
本文将深入探讨如何使用Oracle触发器来实现行ID的自增加。 首先,我们得了解什么是触发器。在Oracle中,触发器是一种数据库对象,它可以在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行预先定义的...
在这个场景中,我们讨论的是如何利用Oracle触发器来实现二维码的生成与存储。 首先,"oracle触发器实现二维码"这个标题意味着我们将结合Oracle数据库和二维码技术。二维码(Quick Response Code,简称QR Code)是一...
Oracle Trigger是数据库中...然而,过度使用或设计不当的触发器可能会导致性能问题,因此在设计触发器时需要谨慎,充分考虑其影响和效率。正确理解和运用触发器,可以帮助我们构建更健壮、更符合业务需求的数据库系统。
Oracle触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)或者特定的系统事件(如数据库启动和关闭)发生时,自动执行预定义的PL/SQL代码块。触发器是存储在数据库中...
本文将深入解析Oracle触发器的原理、类型、创建及使用方法。 首先,触发器主要分为三种类型:行级触发器、语句级触发器和定时触发器。行级触发器在每一行数据受到影响时触发,而语句级触发器则在整个SQL语句执行...
本文将介绍如何使用 Oracle 触发器调用 Java 类,实现对文件的读写操作。 首先,需要将 Java 程序 load 进数据库中。使用 LOADJAVA 命令可以将 Java 程序 load 进数据库。例如,使用以下命令将 OracleTriggerJava....
Oracle触发器是数据库管理系统中的一种特殊程序,它在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行。触发器主要用于实现复杂的数据一致性、强制业务规则、提供审计跟踪和自动化某些操作,例如自增...
### 创建Oracle触发器用于表中序列值自增长 在Oracle数据库中,为了实现表中某个字段的自动递增功能,通常会使用序列(sequence)结合触发器(trigger)的方式来完成。这种方式不仅能够确保数据的一致性和完整性,...
**一、Oracle触发器** 触发器是一种数据库对象,它在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器可以用于执行复杂的业务规则,如级联更新、历史记录跟踪、并发控制等。以下是一些关键知识...