使用缺少的WHERE子句阻止tsql更新

时间:2010-10-21 15:00:18

标签: sql-server sql-server-2005

在MS SQL Server 2005的上下文中

有没有办法停止删除,并更新正在对没有WHERE子句的数据库执行的sql语句?

理想情况下,将此“阻止”限制为一组用户/角色会很好。

2 个答案:

答案 0 :(得分:3)

如果行计数与表中的行数相同,则可以创建一个执行ROLLBACK更新的触发器。如果你想要那个触发器代码,请发表评论。

答案 1 :(得分:2)

简单回答:不。

您有责任确保不发送此类查询。当命令真正缺少WHERE子句,或者确实应该在没有任何WHERE的情况下执行时,SQL Server无法“知道”或“找出”。