mysql 存儲過程實現事務方法

  1. DROP PROCEDURE IF EXISTS pro_test;  
  2.   
  3. create procedure pro_test(out rtn int)  
  4. begin  
  5. declare err INT default 0;  
  6. -- 若是出現異常,會自動處理並rollback  
  7. declare exit handler for  sqlexception ROLLBACK ;   
  8.   
  9.    
  10. -- 啓動事務  
  11. start transaction;  
  12.   
  13. insert into test_user values(NULL,1,'啊是大三的');  
  14.   
  15. -- set err = @@IDENTITY; -- =   獲取上一次插入的自增ID;  
  16. set err =last_insert_id(); -- 獲取上一次插入的自增ID  
  17. insert into test_user VALUES(NULL,23,err);  
  18.    
  19. -- 運行沒有異常,提交事務  
  20. commit;  
  21. -- 設置返回值爲1  
  22. set rtn=1;  
  23. end;  

 

 

[sql] view plain copysql

  1. -- 調用存儲過程   
  2.   
  3. SET @n=1;  
  4. CALL pro_test(@n);  
  5. select @n;  
相關文章
相關標籤/搜索