Wie oben beantwortet, können Sie in SQL implizite Transaktionen für Ihre Verbindung mit dieser SET IMPLICIT_TRANSACTIONS ON
Einstellung aktivieren und die von Mark und Jack bereitgestellten Links verwenden.
Ich würde davor warnen, dies auf der ganzen Linie zu tun und es sogar oft in Ihren eigenen Verbindungen zu tun. Die Kehrseite dieser Änderung ist, dass Sie jetzt eine Transaktion für alle Ihre Aktionen haben. Wenn Sie nach sich selbst nicht richtig verwalten oder bereinigen, können jetzt offene Transaktionen die DML in Ihrem System blockieren.
Wenn Sie befürchten, dass bei der manuellen Bereinigung versehentlich die falschen Zeilen gelöscht / aktualisiert werden, gibt es einige bessere Optionen:
- Machen Sie zuerst ein Backup
- Sichern Sie die Tabelle zuerst, indem Sie alle Zeilen in einer neuen Tabelle auswählen (Wählen Sie * in tmpInCaseIMessUp_TableName_mw FROM TableName aus).
- Gewöhnen Sie sich an,
BEGIN TRANSACTION
vor dem Schreiben eines Updates / Einfügens / Löschens aus einem System zu tippen ...
Manchmal starte ich eine Sitzung und tippe
BEGIN TRAN
-- COMMIT TRAN
(auskommentiert, damit es nicht passiert, aber tippe es, damit ich nicht beschäftigt werde und vergesse)
Dann mache ich meine Arbeit nach dem Beginn der Übertragung, schreibe in derselben Sitzung eine Select-Anweisung, die das Nachbild zeigt, um sicherzustellen, dass ich nichts falsch gemacht habe (oder verlasse mich nur auf die Anzahl der betroffenen Zeilen usw.) und dann verpflichten, wenn alles gut aussieht.