日期:2014-05-18  浏览次数:20489 次

如何防止delete或者update过多记录?
在查询分析器中,有时候delete或者update会忘记写where条件,不知道SQL2000里有没有可以设置当记录影响记录超过多少,或者自动检测这方面的改动然后做出提示阻止的?

感谢高人,热心人,路人

------解决方案--------------------
触发器
------解决方案--------------------
SQL code
set rowcount 1
update tb set col='test'

------解决方案--------------------
设置受影响的行数set rowcount
例如设置为4行
set rowcount 4
delte from tb
这样会删除前面4行。
如果要对全表都影响,就
set rowcount 0
------解决方案--------------------
这个还是自己平时多小心一点
------解决方案--------------------
其实使用
set rowcount 数字这样的语法是相当方便的。

使用update top(数字)这样也是可以的
------解决方案--------------------
要修改前备份一下,删除了,再还原。
------解决方案--------------------
先用select 代替 delete 运行,看下有多少条纪录,如果纪录数没错,再用delete 代替select字符
------解决方案--------------------
1:在可能进行大量数据批量操作先,最好先备份相关表
2:在更新或删除前先select结果集,评估记录是否符合预期,再更新或删除
------解决方案--------------------
用触发器
create trigger avoid_delete_many_rows
as
begin
if(select count(1) from deleted)>50
begin
rollback
end
end
------解决方案--------------------
更新 删除之前还是备份一下吧
------解决方案--------------------
SQL code
set rowcount 1

------解决方案--------------------
先用select 看下有多少条纪录,如果纪录数没错,再用delete
------解决方案--------------------
这个主要还是看自己了 语句要正确 数据库要备份
------解决方案--------------------
Set RowCount 100
UpDate T Set c = value
------解决方案--------------------
先select 没问题 再修改成update....