Too*_*arn 3 t-sql transactions sql-server-2008
昨天我问这个问题Funky删除问题
现在我想现在如何安全删除.
那么我如何使用提交和事务以及语法糖来覆盖我的@ $$,因为昨天我笨拙地删除了51,000行.我有一个备份,但我仍然认为HOLY ^%$#太容易了.
那我该怎么做呢?
DELETE FROM bBoxHeader
WHERE bBoxHeader.bHeaderId <> '1099'
-- Ooops meant that to be equal. How do I roll back?
Run Code Online (Sandbox Code Playgroud)
我如何包装它,所以我不会吹掉51000行
Aar*_*and 14
每当您针对生产数据进行未经验证的临时DML时,您应始终将其包含在BEGIN TRANSACTION中,并使用后续的COMMIT和ROLLBACK.如果你在没有检查的情况下运行它然后意识到你搞砸了,你可以回滚它.否则你可以提交它.
BEGIN TRANSACTION;
DELETE ... WHERE ...
-- COMMIT TRANSACTION;
---^^^^^^ if the number of rows affected is correct, highlight this & execute
-- ROLLBACK TRANSACTION;
---^^^^^^^^ otherwise highlight this and execute
Run Code Online (Sandbox Code Playgroud)
请注意,这也可能导致你说什么,因为如果你忘记运行回滚或提交,然后去吃午餐或回家周末,你可能会回来看看你的粉红色单.
归档时间: |
|
查看次数: |
9074 次 |
最近记录: |