/* 有的情况下可能需要临时禁用触发器,比如他引用的数据库对象已经失效,或者需要执行大量的数据操作 此时不希望触发器工作,以避免造成延时等等 ALTER TRIGGER <触发器名> DISABLE; 禁用某个触发器 ALTER TRIGGER <触发器名> ENABLE; 启用某个触发器 ALTER TABLE <表名> DISABLE ALL TRIGGERS; 禁用表上的所有的触发器 ALTER TABLE <表名> ENABLE ALL TRIGGERS; 启用表上的所有的触发器 */ --创建表和触发器 DROP TABLE TESTLOG; DROP TRIGGER MYLOGONTRIGGER; DROP TRIGGER MYLOGOFFTRIGGER; --创建表TESTLOG CREATE TABLE TESTLOG( USERNAME VARCHAR2(100), EVENTTIME DATE, ACTION VARCHAR2(20) ); --触发器,用于记录用户的登录事件 CREATE OR REPLACE TRIGGER MYLOGONTRIGGER AFTER LOGON ON SCHEMA BEGIN INSERT INTO TESTLOG VALUES( USER, SYSDATE, 'LOGON' ); END; / --触发器,用户记录用户的注销事件 CREATE OR REPLACE TRIGGER MYLOGOFFTRIGGER BEFORE LOGOFF ON SCHEMA BEGIN INSERT INTO TESTLOG VALUES( USER, SYSDATE, 'LOGOFF' ); END; / /*测试使该触发器失效和生效*/ ALTER TRIGGER MYLOGONTRIGGER DISABLE; ALTER TRIGGER MYLOGONTRIGGER ENABLE; ALTER TABLE TESTLOG DISABLE ALL TRIGGERS; ALTER TABLE TESTLOG ENABLE ALL TRIGGERS;
存储过程和触发器-启用和禁用触发器
最新推荐文章于 2024-03-22 23:12:48 发布