SQLロールバック・トランザクションでは、そこから状態をロールバックしますか?私は、データがどこに格納されているので、ロールバックで戻すことができます。SQLロールバック・トランザクションでは、そこから状態をロールバックしますか?
0
A
答えて
0
Oracleでは、コミットするまでREDOログの変更を保存しています。すべてのRDMSには独自の戦略があります。
+0
Oracleでは、実際にはUNDOであり、REDOではありません。 –
0
あなたがそれらオフを実行し、100%(クエリのすべての行を実行します)、またはまったく実行いずれかのために安全で簡単なコードを使用することができます
|クエリ1 | =のように挿入するか、または選択するか... ... |行数| =数オフクエリ
DECLARE @rowcount int set @rowcount = 0 ;
BEGIN TRANSACTION [Tran1]
BEGIN TRY
<Query 1> ; set @rowcount = (@rowcount + @@ROWCOUNT);
<Query 2> ; set @rowcount = (@rowcount + @@ROWCOUNT);
...
IF @rowcount = <count of lines>
COMMIT TRANSACTION[Tran1]
ELSE
ROLLBACK TRANSACTION[Tran1]
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION[Tran1]
END CATCH
例えば、このコードの実行2挿入彼または全く実行もののすべてを実行し、ロールバックラインクエリになく、または
DECLARE @rowcount int set @rowcount = 0 ;
BEGIN TRANSACTION [Tran1]
BEGIN TRY
insert into [database].[dbo].[tbl1] (fld1) values('1') ;
set @rowcount = (@rowcount + @@ROWCOUNT);
insert into [database].[dbo].[tbl2] (fld1) values('2') ;
set @rowcount = (@rowcount + @@ROWCOUNT);
IF @rowcount = 2
COMMIT TRANSACTION[Tran1]
ELSE
ROLLBACK TRANSACTION[Tran1]
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION[Tran1]
END CATCH
関連する問題
- 1. MySQLトランザクションはロールバックなしでロールバックできますか?
- 2. トリガーからのトランザクションのロールバック
- 3. SQLトランザクションのロールバックとコミット
- 4. asp.netとSQL Server +トランザクションのロールバック
- 5. org.springframework.jdbc DBのロールバックが状態
- 6. 休止状態のロールバック
- 7. SQL Server - トランザクションはエラーでロールバックされますか?
- 8. トランザクションのロールバック時のオブジェクト状態の復元
- 9. トランザクションをロールバックする
- 10. JTAトランザクションのロールバック
- 11. トランザクションがロールバックされましたか?
- 12. Payaraでトランザクションを静かにロールバックする
- 13. TransactionScopeとオブジェクトの状態をロールバックする
- 14. MySQLはトランザクションをロールバックしません
- 15. Springトランザクション失敗ロールバック
- 16. MyBatisのトランザクションのロールバック
- 17. SQL Serverでトランザクションをロールバックまたはコミットする方法
- 18. Oracleはトランザクションをエラーでロールバックしますか?
- 19. @トランザクションが春にトランザクションをロールバックしない
- 20. Spring @トランザクションがロールバックしない
- 21. Redux、特定のポイントへのロールバック状態
- 22. SQL ServerトランザクションのロールバックまたはPetapocoを使用したコミット?
- 23. SQL Serverでトランザクションが失敗した場合、トリガーはロールバックされますか?
- 24. ssisでトランザクションをロールバックする方法は?
- 25. オブジェクトのセットとその状態の変更とロールバックの方法
- 26. 「ロールバック」と言うことなくロールバックできますか?
- 27. ロールバック時のSpringトランザクションでDBが以前の状態に復元されない
- 28. EF5 DbContext.SaveChangesはトランザクションのコミットとロールバックを処理しますか?
- 29. ロールバックするSQL Server 2012トランザクションを取得できません
- 30. は、私はこのクエリで私のデータベースを更新したSQLロールバック・トランザクション
これは実装固有のものです。 –
トランザクションログ。 SQL SQL Serverで更新が行われると、まずトランザクションログ内でデータが書き込まれ、ロールバックされるとt-logエントリが削除され、DBの状態はトランザクション前と同じになります起こりました。 * SQL Server固有の編集* – Jeremy