Oracle--管理触发器(查看、启用/禁用、修改、删除)

查看触发器

触发器是一种特殊的存储过程,从被创建之日起,触发器就被存储在数据库中,直到被删除。触发器与一般存储过程或者存储函数的区别在于触发器可以自动执行,而一般的存储过程或者存储函数需要调用才能执行。

Oracle提供检索与触发器相关信息的数据字典。与触发器相关的数据字典主要包括以下几种:

  • USER_TRIGGERS: 存储当前用户所拥有的触发器。
  • DBA_TRIGGERS: 存储管理员所拥有的触发器。
  • ALL_TRIGGERS: 存储所有的触发器。
  • USER_OBJECTS: 存储当前用户所拥有的对象,包括触发器。
  • DBA_OBJECTS: 存储管理员所拥有的对象,包括触发器。
  • ALL_OBJECTS: 存储数据库中所有的对象,包括触发器。

在这里插入图片描述

在这里插入图片描述

USER_TRIGGERS表主要列的说明如下表:

列名描述
TRIGGER_NAME触发器名
TRIGGER_TYPE触发时间AFTER和BEFORE,以及是行级触发器或语句级触发
TRIGGERING_EVENT触发器的事件
TABLE_NAME与触发器相关联的表或视图
BASE_OBJECT_TYPE与触发器相关联的对象类型:表、视图、模式和数据库
WHEN_CLAUSE触发器的WHEN子句代码
STATUS触发器的状态:启动或禁用
DESCRIPTION类型或事件信息的概述
TRIGGER_BODY触发器的PL/SQL块

启用和禁用触发器

Oracle提供的ALTER TRIGGER语句用于启用和禁用触发器。禁用触发器就将它挂起,它仍然存储在数据库中,但是不会被触发,就好像根本没有触发器一样。禁用触发器常常用在当DBA有大量记录要导入到数据库中时,且DBA知道这些数据时安全和可靠的。但禁用触发器后可以节省大量的处理时间。

禁用和启用触发器的语法如下:

ALTER TRIGGER [schema.] trigger_name DISABLE | ENABLE;

修改触发器

当创建的触发器需要修改时可以使用REPLACE关键字。
如果在SQL Plus中创建触发器时带上了OR REPLACE关键字,可以完成过程的修改,也就是覆盖。

删除触发器

对应不用的触发器除了设置禁用属性外也可以直接将其删除。可以利用如下两种方式删除触发器:

  • 第一种方式利用SQL语句删除触发器。
DROP TRIGGER [schema.]trigger_name;
  • 第二种方式,利用PL/SQL Developer工具删除触发器。选中需要删除的触发器,右击触发器,在弹出的快捷菜单中选择DROP即可。
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值