SQL中删除某数据库所有trigger及sp

 

编写人:CC阿爸

2014-6-14

在日常SQL数据库的操作中,如何快速的删除所有trigger及sp呢

以下有三种方式可快速处理。

--第一种

--事务的处理方法

Begin Transaction

Begin try

declare @SQL varchar(max)

set @SQL=''

select @SQL=@SQL+name+',' from sysobjects where xtype='TR' and name<>'DropDatabase'

If ISNULL(@SQL,'')!=''

Begin

set @SQL='Drop Trigger '+LEFT(@SQL,len(@SQL)-1)

select  @SQL as aa

--exec(@SQL)

end

commit Transaction

End Try

Begin Catch

rollback tran

End Catch

--第二种方法

--采用光标的方式

--DECLARE cursorname cursor for select 'drop PROCEDURE  '+name from sys.objects where name like 'xx%' and xtype = 'P' --删除对应的存储过程

DECLARE cursorname cursor for select 'drop Trigger'+name from sys.objects where name like '%' and type = 'TR' --删除对应的触发器

open cursorname

declare @curname sysname

fetch next from cursorname into @curname

while(@@fetch_status=0)

begin

--exec(@curname)

select @curname as aa

fetch next from cursorname into @curname

end

close cursorname

deallocate cursorname

--第三种方法

--简易办法,查询出来后,再在数据库中执行

select 'drop Trigger '+name from sys.objects where name like '%' and type = 'TR'

select 'drop PROCEDURE '+name from sys.objects where name like '%' and type = 'P'

SQL中删除某数据库所有trigger及sp的更多相关文章

  1. SQL Server删除distribution数据库二

    以前总结过一遍博文SQL Server删除distribution数据库,里面介绍了如何删除distribution数据库.今天介绍一个删除distribution的特殊案例, 在这之前,我不知道这个 ...

  2. SQL中如何修改数据库名、表名、列名?

    文章目录 1.SQL中如何修改数据库的名字? 2.SQL中如何修改表的名字? 3.SQL中如何修改列的名字? 4.SQL中如何修改列的数据类型?(未完成,待续) 1.SQL中如何修改数据库名? 语法 ...

  3. SQL Server删除distribution数据库

    在数据库服务器删除复制(发布订阅)后,如何删除掉数据库distribution呢?如果你通过SSMS工具去删除数据库distribution,你会发现根本没有删除选项. 下面介绍一下删除distrib ...

  4. SQL Server 删除当前数据库中所有数据库 ,无视约束

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: exec sp_msforeachtable  @Command1 ='truncate table ?' 删除所有数据表: e ...

  5. SQL中删除重复的行(重复数据),只保留一行 转

    方法一:使用在T-SQL的编程中 分配一个列号码,以COL1,COL2组合来分区排序,删除DATABASE重复的行(重复数据),只保留一行 // COL1,COL2是数据库DATABASE的栏位 de ...

  6. SQL中删除同一字段中重复的值

    /////////////////////目地:ZDJZ_DIS中 name字段有重复的值,删除重复的值 DELETE * FROM ZDJZ_DIS WHERE NAME IN (select NA ...

  7. SQL 中怎么查询数据库中具有的表、存储过程、试图数目、总触发器数、作业数

    用户表:select count(*) 总表数 from sysobjects where xtype='u' 刚才那个是用户表,下面这个是系统表加用户表: select count(*) 总表数 f ...

  8. 用SQL语句创建和删除Access数据库中的表;添加列和删除列

    用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Acc ...

  9. SQL Server中使用msdb数据库的存储过程sp_delete_backuphistory和sp_delete_database_backuphistory来删除备份和恢复历史数据

    根据微软文档对sp_delete_backuphistory存储过程的介绍,SQL Server在每次备份和恢复数据库后,会向msdb系统数据库的备份和恢复历史表写入数据,如果SQL Server经常 ...

随机推荐

  1. 92、App Permissions(权限管理)实例

    •Manifest权限声明 •Permission Groups-权限组 •权限的区分-安装时授权于运行时授权 •撤销权限 •检查.请求权限 •在应用中如何合理的处理权限请求逻辑   在Android ...

  2. [Flex] ButtonBar系列——flex3 皮肤和外观设置

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...

  3. js注意事项

    在数组顶部插入一条数据 data.result.unshift({ Value: 'all', Text: '请选择分类' }); 执行iframe中的javascript方法 window.fram ...

  4. StrictMode对SharedPreferences的检查出来的IO操作

    在使用StrictMode时,发现会爆出 StrictMode policy violation;~duration=1949 ms: android.os.StrictMode$StrictMode ...

  5. (整理)RPC

    今天研究了一下Webservice,然后就查到RPC,看到CSDN上有两篇很好的文章,就学习一下,并记录在此以便后续研究 http://blog.csdn.net/mindfloating/artic ...

  6. 使用eclipse集成开发环境开发第一个嵌入式Linux驱动

    转载学习 http://blog.csdn.net/cp1300/article/details/8266806

  7. Java基础知识:序列化和反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...

  8. html——SVG

    SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形 ...

  9. POJ1979 Red and Black (简单DFS)

    POJ1979 Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...

  10. 慕课网-安卓工程师初养成-4-2 Java条件语句之 if...else

    来源:http://www.imooc.com/code/1354 if...else 语句的操作比 if 语句多了一步:  当条件成立时,则执行 if 部分的代码块: 条件不成立时,则进入 else ...