删除触发器

注意事项

可以通过删除DML触发器或删除触发器表来删除DML触发器。 删除表时,将同时删除与表关联的所有触发器。

删除触发器时,会从 sys.objects、sys.triggers 和 sys.sql_modules 目录视图中删除有关该触发器的信息。

仅当所有触发器均使用相同的 ON 子句创建时,才能使用一个 DROP TRIGGER 语句删除多个 DDL 触发器。

若要重命名触发器,可使用 DROP TRIGGER 和 CREATE TRIGGER。 若要更改触发器的定义,可使用 ALTER TRIGGER。

有关确定特定触发器依赖关系的详细信息,请参阅 sys.sql_expression_dependencies、sys.dm_sql_referenced_entities (Transact-SQL) 和 sys.dm_sql_referencing_entities (Transact-SQL)。

有关查看触发器文本的详细信息,请参阅 sp_helptext (Transact-SQL) 和 sys.sql_modules (Transact-SQL)。

有关查看现有触发器列表的详细信息,请参阅 sys.triggers (Transact-SQL) 和 sys.server_triggers (Transact-SQL)。

权限方面

要删除 DML 触发器,需要具有对于定义该触发器所在的表或视图的 ALTER 权限。

若要删除定义了服务器范围 (ON ALL SERVER) 的 DDL 触发器或删除登录触发器,需要对服务器拥有 CONTROL SERVER 权限。 若要删除定义了数据库范围 (ON DATABASE) 的 DDL 触发器,要求在当前数据库中具有 ALTER ANY DATABASE DDL TRIGGER 权限。

使用SSMS数据库管理工具删除触发器

删除DML触发器

1、连接数据库,选择数据库,选择数据表-》展开数据表-》展开触发器-》右键点击-》选择删除。

2、在删除对象弹出框-》点击确定-》不用刷新即可看到删除结果。

删除DDL触发器

1、连接数据库,选择数据库-》展开可编程性-》展开数据库触发器-》右键点击-》选择删除。

2、在删除对象弹出框-》点击确定-》不用刷新即可看到删除结果。

删除LOGON触发器

1、连接数据库-》展开服务器对象-》展开触发器-》右键点击-》选择删除。

2、在删除对象弹出框-》点击确定-》不用刷新即可看到删除结果。

使用T-SQL脚本删除触发器

语法:

--声明数据库引用
use 数据库;
go

--判断是否存在,如果存在则删除
if exists(select * from sys.triggers where name=触发器名)

--删除DML触发器
drop trigger 触发器名;

----删除DDL触发器
--drop trigger 触发器名 on database;

--删除登录触发器
--drop trigger 触发器名 on all server;

go

示例:本示例演示删除DML更新触发器。

--声明数据库引用
use testss;
go

--判断是否存在,如果存在则删除
if exists(select * from sys.triggers where name='updatetri')
drop trigger updatetri;
go

示例结果:

SQLServer之删除触发器的更多相关文章

  1. SqlServer基础之(触发器)

    概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触 ...

  2. (转)SqlServer基础之(触发器)(清晰易懂)

    阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器 概念:   触发器(trigger)是SQL server 提供给程序员和数据分析 ...

  3. Sqlserver中的触发器

    一 什么是触发器 1.1  触发器的概念   触发器(trigger)是SQL server来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行是由事件来触发,当对一个表进行操作(  ...

  4. SqlServer 中的触发器

    SqlServer 触发器实现多表之间同步增加.删除与更新 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. ...

  5. 转,SqlServer 基础之(触发器)

    概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触 ...

  6. sqlserver 批量删除存储过程和批量修改存储过程的语句

    sqlserver 批量删除存储过程和批量修改存储过程的语句- sqlserver 批量删除存储过程和批量修改存储过程的语句,需要的朋友可以参考下. - 修改: 复制代码 代码如下: declare ...

  7. SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

    问题描述: sqlserver在删除登录名的时候提示删除失败 标题: Microsoft SQL Server Management Studio -------------------------- ...

  8. Postgresql添加/删除触发器示例

    -- 定义触发器 CREATE TRIGGER "vss_after_insert_flow_201702" AFTER INSERT ON "public". ...

  9. oracle 批量删除触发器

    --生成删除触发器的语句 select 'drop trigger "'||trigger_name||'";' from all_triggers  where TRIGGER_ ...

随机推荐

  1. 关于pycharm安装出现的interpreter field is empty,无法创建项目存储位置

    关于pycharm安装出现的interpreter field is empty(解释器为空) 关于pycharm安装出现的interpreter field is empty,无法创建项目存储的位置 ...

  2. 取代 FlashP2P,H5P2P 将成为 WebP2P 主流

    5 月 19.20 日,行业精英齐聚的 WebRTCon 2018 在上海举办.又拍云 PrismCDN 项目负责人凌建发在大会做了<又拍云低延时的 WebP2P 直播实践>的精彩分享. ...

  3. ASP.NET Core 2.0 MVC - 获取当前登录用户信息

    一.前言 上篇实战完成后,没想到会有那么多的圈友给了那么多的支持,甚至连只是作为代码仓储的git上也给了一些小星星,真的感觉很惶恐啊,哈哈哈,毕竟代码写的很烂啊.由于上一篇只是大概说了下项目,所以准备 ...

  4. java设计模式(1)---总则

    设计模式总则 一.概述 1.什么是设计模式 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 解释下: 分类编目:就是说可以找到一些特征去划分这些设计模式,从而进行分类. ...

  5. redis 系列8 数据结构之整数集合

    一.概述 整数集合(intset)是集合键的底层实现之一, 当一个集合只包含整数值元素,并且这个集合元素数量不多时, Redis就会使用整数集合作为集合键的底层实现.下面创建一个只包含5个元素的集合键 ...

  6. 带着萌新看springboot源码8(spring ioc源码上)

    emmm.....这次先不说springboot原理,先好好回顾一下以前的注解版spring原理,先把spring原理了解清晰了,再看springboot原理更容易. 要说起spring,最重要的就是 ...

  7. Chapter 5 Blood Type——26

    "I saw his face — I could tell." “我看到他的脸了 —— 我知道.” "How did you see me? I thought you ...

  8. 【ASP.NET Core快速入门】(十三)Individual authentication 模板、EF Core Migration

    Individual authentication 模板 我们首先用VSCode新建一个mvc的网站,这个网站创立的时候回自动为我们创建Identuty Core以及EF Core的代码示例,我们可以 ...

  9. springmvc 项目完整示例03 小结

    利用spring 创建一个web项目 大致原理 利用spring的ioc 原理,例子中也就是体现在了配置文件中 设置了自动扫描注解 配置了数据库信息等 一般一个项目,主要有domain,dao,ser ...

  10. java中变量的存储位置

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...