仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 912|回复: 9
打印 上一主题 下一主题

[学习教程] 使用Sql语句删除数据库中一切触发器

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。假如必要一次删撤除数据库中一切触发器,还得用游标,我们能够利sys.triggers视图查出数据库中一切触发器,然后使用游标遍历sys.triggers中一切纪录,同时天生删除触发器的sql语句并实行就好了。

以下是删除一切数据库中一切触发器的示例
declare@sqlvarchar(1000)
declare@triggernamevarchar(100)
declareresult_curcursorlocalfor
selectnamefromsys.triggers

openresult_cur
fetchnextfromresult_curinto@triggername
while@@fetch_status=0
begin
set@sql=droptrigger+@triggername
exec(@sql)
fetchnextfromresult_curinto@triggername
end
closeresult_cur
deallocateresult_cur
对于insert和delete,event中包含了插入/删除的记录的所有字段的值(太爽了。。)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 23:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表