zoukankan      html  css  js  c++  java
  • MySQL 事务处理

    事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。

    delimiter $$
    CREATE PROCEDURE p1 (
    	OUT p_return_code tinyint 
    )
    BEGIN 
    	DECLARE EXIT HANDLER FOR SQLEXCEPTION     # 定义 sql 异常
    	BEGIN
    		-- ERRORS
    		SET p_return_code = 1;                # 定义 p_return_code
    		ROLLBACK;                             # 回滚操作
    	END;
    	
    	DECLARE EXIT HANDLER FOR SQLWARNING    
    	BEGIN
    		-- WARNINGS
    		set p_return_code = 2;
    		ROLLBACK;
    	END;
    	
    	START TRANSACTION;                       # 开始事务
    		DELETE FROM userinfo WHERE username = 'klvchen';
    		INSERT INTO tmp(name) VALUES ('haha');
    	COMMIT;                                  # 提交事务
    	
    	-- SUCCESS
    	set p_return_code = 0;
    	
    	END $$
    delimiter ;
    

    执行

    set @i =0;
    CALL p1(@i);
    SELECT @i;
    
  • 相关阅读:
    第1章 引论
    Java反射
    用户职责菜单请求组
    API及接口清单
    独立值集导入脚本
    报表对应程序包查询
    正则表达式
    合并工作表
    去重
    分割表
  • 原文地址:https://www.cnblogs.com/klvchen/p/10130331.html
Copyright © 2011-2022 走看看