存储过程和触发器-启用和禁用触发器

/*
有的情况下可能需要临时禁用触发器,比如他引用的数据库对象已经失效,或者需要执行大量的数据操作
此时不希望触发器工作,以避免造成延时等等
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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值