仓酷云

标题: 使用Sql语句删除数据库中一切触发器 [打印本页]

作者: 小女巫    时间: 2015-1-16 14:07
标题: 使用Sql语句删除数据库中一切触发器
因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。假如必要一次删撤除数据库中一切触发器,还得用游标,我们能够利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中包含了插入/删除的记录的所有字段的值(太爽了。。)
作者: 变相怪杰    时间: 2015-1-18 12:03
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
作者: 深爱那片海    时间: 2015-1-25 10:53
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者: 愤怒的大鸟    时间: 2015-2-2 21:54
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
作者: 第二个灵魂    时间: 2015-2-8 08:09
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
作者: 爱飞    时间: 2015-2-25 04:45
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
作者: 灵魂腐蚀    时间: 2015-3-7 17:33
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
作者: 柔情似水    时间: 2015-3-15 10:42
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
作者: 冷月葬花魂    时间: 2015-3-22 01:09
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
作者: 小魔女    时间: 2015-3-22 01:09
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2