在SQL Management Studio中删除/更新之前确认?

Gre*_*g J 10 sql-server ssms

因此,连续第二天,有人已经清除了整个数据表,而不是他们试图删除的那一行,因为他们没有合格的where子句.

我一直在mgmt工作室选项上下,但找不到确认选项.我知道其他数据库的其他工具也有它.

Roc*_*der 16

我建议你应该总是先写有WHERE子句的SELECT语句并执行它真正看到你的将DELETE命令删除哪些行.然后使用相同的WHERE子句执行DELETE.这同样适用于UPDATE.

  • 我同意,这绝对是最佳实践,如果每个人都遵循该实践,我现在就不会打字了:) (2认同)

CJM*_*CJM 13

在"工具">"选项">"查询执行">"SQL Server">"ANSI"下,可以启用"隐式事务"选项,这意味着您无需显式包含"开始事务"命令.

明显的缺点是你可能忘记在最后添加一个Commit(或Rollback),或者更糟的是,你的同事默认会在每个脚本的末尾添加Commit.

你可以把马带到水里......

您可能会建议他们在执行任何操作之前始终采用临时备份(具体取决于数据库的大小)以防万一.


Gal*_*ian 5

BEGIN TRANSACTION在运行DELETE语句之前尝试使用 a 。

然后你可以选择 toCOMMITROLLBACKsame。