在SQL SERVER中實現事務的部分回滾
在SQL SERVER中實現事務的部分回滾
1.儲存點:是一種實現部分回滾的方法。可以給一個儲存點起一個名字,以便在後面的事務中可以回滾到儲存點。
2.實現程式碼。
BEGIN TRANSACTION Transaction_Name
SQL_Statement1
SQL_Statement2
SQL_Statement1
SQL_Statement2
SAVE TRANSACTION Save_Name --設定儲存點
SQL_Statement3
SQL_Statement4
SQL_Statement4
IF Test_Condition_Fails
ROLLBACK TRANSACTION Save_Name --回滾到儲存點
SQL_Statement5
SQL_Statement6
SQL_Statement6
COMMIT TRANSACTION Transaction_Name
或
BEGIN TRANSACTION Transaction_Name
SQL_Statement1
SQL_Statement2
SAVE TRANSACTION Save_Name --設定儲存點
SQL_Statement3
SQL_Statement4
IF Test_Condition_Fails)
BEGIN
ROLLBACK TRANSACTION Save_Name --回滾到儲存點
RETURN
END
ELSE
BEGIN
SQL_Statement5
SQL_Statement6
END
COMMIT TRANSACTION Transaction_Name
SQL_Statement1
SQL_Statement2
SAVE TRANSACTION Save_Name --設定儲存點
SQL_Statement3
SQL_Statement4
IF Test_Condition_Fails)
BEGIN
ROLLBACK TRANSACTION Save_Name --回滾到儲存點
RETURN
END
ELSE
BEGIN
SQL_Statement5
SQL_Statement6
END
COMMIT TRANSACTION Transaction_Name
3.如果沒有儲存點時,ROLLBACK命令後面只能跟最外層事務的名字,而不能跟其他事務的名字。不論ROLLBACK命令在巢狀那一層發生時,如果其後沒有事務名,則將事務回滾整個事務到頂層,這和回滾最外層事務是一樣的。在巢狀事務中,不能僅回滾某一層事務,除非你指定了一個儲存點,然後回滾到儲存點。
相關文章
- SQL Server 事務及回滾事務SQLServer
- MySQL實現事務的提交和回滾MySql
- T-SQL——關於事務回滾的方式SQL
- WebForm中C#事務回滾的例子WebORMC#
- ORACLE 死事務的回滾Oracle
- java 事務提交/回滾Java
- SQL Server中的事務與鎖SQLServer
- oracle檢視回滾的事務Oracle
- 使用FLASHBACK_TRANSACTION_QUERY查詢回滾事務SQLSQL
- sql server中巢狀事務*SQLServer巢狀
- Spring Data JPA中事務回滾意外RollbackExceptionSpringException
- sqlserver遇到回滾事務的操作策略SQLServer
- Spring事務回滾情況Spring
- SQL Server中存在真正的“事務巢狀”SQLServer巢狀
- Postgresqlddl在事務中可以回滾,truncate時relfilenode在當前會話會改變SQL會話
- 不能回滾的Redis事務還能用嗎Redis
- DBUNITS的單元測試事務回滾
- SQL Server 查出未提交事務(長事務)SQLSQLServer
- 關於事務回滾註解@Transactional
- Spring中@Transactional事務回滾例項及原始碼Spring原始碼
- 在SQL Server中獲得不包含時間部分的日期SQLServer
- MySql事務無法回滾的原因有哪些MySql
- 關於Spring事務回滾的問題Spring
- long長事務回滾的模擬與定位
- MySQL 儲存過程中事務sql異常回滾MySql儲存過程
- 淺談SQL Server中的事務日誌(轉載)SQLServer
- 在SQL SERVER中實現RSA加密演算法SQLServer加密演算法
- JDBC 事務(二)回滾到儲存點JDBC
- Spring事務不能回滾的深層次原因Spring
- 關於ORACLE大型事務回滾的幾個點Oracle
- 在事務中執行sql語句SQL
- sql server事務全攻略SQLServer
- SQL SERVER 事務處理(一)SQLServer
- sql server 事務處理(二)SQLServer
- Spring Transaction詳解 – 手動回滾事務Spring
- zt_Oracle事務rollback回滾時間估算Oracle
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-隱式回滾SQL
- 在SQL Server 2005中實現表的行列轉換SQLServer