zoukankan      html  css  js  c++  java
  • SQLServer之删除触发器

    删除触发器

    注意事项

    可以通过删除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

    示例结果:

  • 相关阅读:
    python模块的作用和说明
    Python列表推导式和嵌套的列表推导式
    Python数据结构 将列表作为栈和队列使用
    Python解包参数列表及 Lambda 表达式
    Python函数标注
    Python range() 函数
    python序列和其它类型的比较
    Python教程 深入条件控制
    02爬虫requests请求库
    1
  • 原文地址:https://www.cnblogs.com/vuenote/p/9830208.html
Copyright © 2011-2022 走看看