MySQL 儲存過程中事務sql異常回滾
@@如下適用DML操作,在基礎上改寫適合的自己的需求;
Procedure as following:
DROP PROCEDURE IF EXISTS sp_tx_ios_proc;
CREATE PROCEDURE sp_tx_ios_proc()
BEGIN
#--------------------
#SQLEXCEPTION 對應儲存過程執行中所有異常
#@Auth:
#@time:
#--------------------
#標誌是否出錯
DECLARE errno TINYINT DEFAULT '0';
#如sql異常,將errno設定為1且後續執行退出
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK;SET errno = 1; END;
#開啟事務
START TRANSACTION;
INSERT INTO tx(a,b)VALUES(1,1),(2,2),(3,3); #執行
INSERT INTO tx(a,b)VALUES(1,2); #因約束,全部回滾
#errno為1,事務回滾sql
SELECT errno;
END;
table:
create table tx(
a int,
b int,
unique key idx_a(a)
)engine =InnoDB deafult charset = utf8;
call sp_tx_ios_proc();
若有更好的回滾機制,請share ^_^
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-775373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 儲存過程/遊標/事務MySql儲存過程
- 儲存過程中巢狀事務儲存過程巢狀
- 不要在儲存過程中控制事務儲存過程
- tcbs_批量儲存過程_plsql事務_savepoint_異常儲存過程SQL
- MySQL儲存過程中捕獲異常的方法MySql儲存過程
- 關於事務的儲存過程儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 【MySQL】MySQL(三)儲存過程和函式、觸發器、事務MySql儲存過程函式觸發器
- MySQL儲存過程中的sql_mode問題MySql儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- Mysql 儲存過程MySql儲存過程
- MySQL儲存過程的異常處理方法MySql儲存過程
- MySql儲存過程中limit傳參MySql儲存過程MIT
- SQL儲存過程示例SQL儲存過程
- SQL Server 儲存過程SQLServer儲存過程
- 【SQL Server】--儲存過程SQLServer儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- 儲存過程注意事項儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- mysql儲存過程整理MySql儲存過程
- MySQL之儲存過程MySql儲存過程
- [MYSQL -23儲存過程]MySql儲存過程
- MYSQL儲存過程管理MySql儲存過程
- mysql儲存過程例子MySql儲存過程
- mysql的儲存過程MySql儲存過程
- 庫存-Mysql中的事務、鎖與儲存引擎MySql儲存引擎
- SQL Server儲存過程中raiserror的使用SQLServer儲存過程AIError
- [MySQL光速入門]017 儲存過程中的"異常處理"MySql儲存過程
- JDBC 事務(二)回滾到儲存點JDBC
- SQL 分頁儲存過程SQL儲存過程
- MS SQL Server儲存過程SQLServer儲存過程
- Sql Server系列:儲存過程SQLServer儲存過程
- SQL 建立儲存過程PROCEDURESQL儲存過程
- 解密SQL SERVER儲存過程解密SQLServer儲存過程
- SQL儲存過程迴圈SQL儲存過程
- sql儲存過程分頁SQL儲存過程
- 【Mysql】Mysql儲存過程學習MySql儲存過程
- MySQL 事務提交過程MySql