避免从表中删除大量行

时间:2017-05-12 09:02:25

标签: sql-server database sql-delete

我找到了许多q& a关于如何从数据库中删除大量数据或如何加快流程,但没有关于如何避免这样做,例如:

我有一个10k行的表(无论列是什么)。 而不是写

DELETE from tableName WHERE ID=123

在编写应用程序时,有人忘记了where语句

DELETE from tableName
  

这将导致删除表格中的每一行(我不明白   这是一个不可能的场景)

对于UPDATING一行来说同样如此,通过忘记WHERE子句,您将更新表中的每一行(您最初都不会注​​意到这一行)

UPDATE tableName set Attribute='new_Value'

在编写Windows应用程序时,前一个实际发生在我身上(幸运的是它只是一个测试数据库

现在我的问题是,我们如何避免做这类事情?

一些想法:

1)不要向sa以外的任何人授予更新和删除权限,并编写SQL存储过程/函数来更新单行

2)在更新/删除之前检查带触发器的行数

0 个答案:

没有答案