管理触发器

   如果要显示作用于表上的触发器究竟对表有哪些操作,必须查看触发器信息。在MS SQL Server 中,有多种方法查看触发器信息。在本节我们将介绍两种常用的方法,即通过MS SQL Server 的管理工具 Enterprise Manager 以及系统存储过程sp_help sp_helptext 和sp_depends。

12.11.1 使用Enterprise Manager 显示触发器信息
使用Enterprise Manager 显示触发器信息其操作步骤如下:
(1) 运行Enterprise Manager, 登录到指定的服务器。
(2) 选择数据库和表。如图12-6 所示。

图12-6 表加亮显示后,也可单击右键从弹出菜单中选择All tasks manage trigger 完成。

(3) 从Action 菜单项中选择ALL Tasks, 再选择 Manage Triggers。 如图12-7。

12.11.2 使用系统存储过程查看触发器
系统存储过程sp_help sp_helptext 和sp_depends 分别提供有关触发器的不同信息。
下面我们将分别对其进行介绍。
(1) sp_help
使用sp_help 系统过程的命令格式是:
sp_help ‘触发器名字’
通过该系统过程,可以了解触发器的一般信息,如触发器的名字、属性、类型、创建
时间。

(2) sp_helptext
通过sp_helptext 能够查看触发器的正文信息,其语法格式为:
sp_helptext ‘触发器名’


(3) sp_depends
通过sp_depends 能够查看指定触发器所引用的表或指定的表涉及到的所有触发器,其
语法形式如下:
sp_depends ‘触发器名字’
sp_depends ‘表名’
注意:用户必须在当前数据库中查看触发器的信息,而且被查看的触发器必须已经被创建。

12.11.3 修改删除触发器
通过Enterprise Manager 和系统过程或Transaction_SQL 命令,可以修改触发器的名字和正文。
(1) 使用sp_rename 命令修改触发器的名字
其语法格式为:
sp_rename oldname,newname
(2) 通过Enterprise Manager 修改触发器正文的操作步骤
通过Enterprise Manager 修改触发器正文的操作步骤与查看触发器信息一样。修改完触发器后要使用Check Syntax 选项对语句进行检查。
(3) 通过Alert trigger 命令修改触发器正文


(4) 删除触发器
用户在使用完触发器后可以将其删除,只有触发器属主才有权删除触发器.删除已创建的触发器有两种方法:
用系统命令DROP TRIGGER 删除指定的触发器,其语法形式如下:
    DROP TRIGGER 触发器名字
删除触发器所在的表时,MS SQL Server 将自动删除与该表相关的触发器。

本章小结
    本章着重介绍了MS SQL Server 中的两个重要概念:存储过程和触发器。我们指出存储过程、触发器是一组SQL 语句集,触发器就其本质而言是一种特殊的存储过程。存储过程和触发器在数据库开发过程中,在对数据库的维护和管理等任务中以及在维护数据库参照完整性等方面具有不可替代的作用。因此无论对于开发人员,还是对于数据库管理人员来说,熟练地使用存储过程,尤其是系统存储过程,深刻地理解有关存储过程和触发器的各个方面问题是极为必要的。
    在本章中,我们通过较多详尽的实例,全面而又透彻地展示了有关存储过程和触发器的各种问题。具体来说主要包括以下几个方面:

  • 存储过程、触发器的概念、作用和优点;
  • 创建、删除、查看、修改存储过程、触发器的方法;
  • 存储过程,触发器的各种不同复杂程度的应用;
  • 创建、使用存储过程和触发器的过程中应注意的若干问题。
时间: 2024-08-04 12:47:37

管理触发器的相关文章

MS SQL基础教程:管理触发器

如果要显示作用于表上的触发器究竟对表有哪些操作,必须查看触发器信息.在MS SQL Server 中,有多种方法查看触发器信息.在本节我们将介绍两种常用的方法,即通过MS SQL Server 的管理工具 Enterprise Manager 以及系统存储过程sp_help sp_helptext 和sp_depends. 12.11.1 使用Enterprise Manager 显示触发器信息 使用Enterprise Manager 显示触发器信息其操作步骤如下: (1) 运行Enterpr

触发器的原理

   从以上的介绍中我们可以看出触发器具有强大的功能,那么MS SQL Server 是如何管理触发器来完成这些任务呢?下面我们将对其工作原理及实现做较为详细的介绍.     每个触发器有两个特殊的表:插入表和删除表.这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改.这两个表的结构总是与被该触发器作用的表有相同的表结构.这两个表是动态驻留在内存中的,当触发器工作完成,这两个表也被删除.这两个表主要保存因用户操作而被影响到的原数据值或新数据

讲解SQL Server数据库的触发器的安全隐患

触发器权限和所有权 CREATE TRIGGER 权限默认授予定义触发器的表所有者.sysadmin 固定服务器角色成员以及 db_owner 和 db_ddladmin 固定数据库角色成员,并且不可转让. 需要的环境 本文需要的环境是已经获取了sql服务器的以上其中一个权限,目的是为了留下隐蔽的后门,不被管理员发现.即使发现了也是加密的(可以破解,不过有些管理员不懂,也不会注意,相关信息google下). 触发器是在对表进行插入(insert).更新(update)或删除(delete)操作时

MS SQL基础教程:触发器的原理

从以上的介绍中我们可以看出触发器具有强大的功能,那么MS SQL Server 是如何管理触发器来完成这些任务呢?下面我们将对其工作原理及实现做较为详细的介绍. 每个触发器有两个特殊的表:插入表和删除表.这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改.这两个表的结构总是与被该触发器作用的表有相同的表结构.这两个表是动态驻留在内存中的,当触发器工作完成,这两个表也被删除.这两个表主要保存因用户操作而被影响到的原数据值或新数据值.另外,这两

SQL Server数据库触发器安全隐患解析

  触发器权限和所有权 CREATE TRIGGER 权限默认授予定义触发器的表所有者.sysadmin 固定服务器角色成员以及 db_owner 和 db_ddladmin 固定数据库角色成员,并且不可转让. 需要的环境 本文需要的环境是已经获取了sql服务器的以上其中一个权限,目的是为了留下隐蔽的后门,不被管理员发现.即使发现了也是加密的(可以破解,不过有些管理员不懂,也不会注意,相关信息google下). 触发器是在对表进行插入(insert).更新(update)或删除(delete)操

PL/SQL --> DML 触发器

--======================= -- PL/SQL --> DML 触发器 --=======================         何谓触发器?简言之,是一段命名的PL/SQL代码块,只不过该代码块在特定的条件下被触发并且执行.对于这样的代码我们称之为触发器 .触发器根据触发类型的不同又分为不同级别的触发器,下面将给出触发器的分类,定义,以及使用的示例.   一.触发器的相关概念     1.触发器的分类         通常根据触发条件以及触发级别的不同分为DM

PL/SQL12.1 ——DML 触发器

 http://blog.csdn.net/robinson_0612/article/details/6098258  何谓触发器?简言之,是一段命名的PL/SQL代码块,只不过该代码块在特定的条件下被触发并且执行.对于这样的代码我们称之为触发器 .触发器根据触发类型的不同又分为不同级别的触发器,下面将给出触发器的分类,定义,以及使用的示例.   一.触发器的相关概念     1.触发器的分类         通常根据触发条件以及触发级别的不同分为DML触发器,INSTEAD OF 触发器,系

SQL Server中触发器的使用详解

触发器是一种特殊的存储过程,类似于事件函数,SQL Server 允许为 INSERT.UPDATE.DELETE 创建触发器,即当在表中插入.更新.删除记录时,触发一个或一系列 T-SQL语句. 触发器可以在查询分析器里创建,也可以在表名上点右键->"所有任务"->"管理触发器"来创建,不过都是要写 T-SQL 语句的,只是在查询分析器里要先确定当前操作的数据库. 创建触发器用 CREATE TRIGGER CREATE TRIGGER 触发器名称ON

sql触发器的用法

sql触发器的用法 触发器:是一种特殊类型的存储过程,不由用户直接调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(Insert,Delete,Update).创建触发器时会对其进行定义,以便在对特定表或列做特定类型的数据修改时执行.   使用触发器的优点:1.触发器是MySQL服务器上自动提供的                            2.触发器可以查询多张表,而且可以包含复杂的SQL语句.   以一个牛腩新闻系统上的一个例子简单介绍触发器的使用: