创建存储过程并定义异常, 开始start TRANSACTION; 出现异常自动回滚
2018-01-12 14:51
369 查看
DROP PROCEDURE
IF EXISTS huike_transfer_day;
DELIMITER ;;
CREATE DEFINER = `root`@`localhost` PROCEDURE huike_transfer_day ()
BEGIN
DECLARE a int;
declare t_node int;
declare exit handler for sqlexception select concat('失败:',case t_node when 1 then 'aspnet_Users插入失败' when 2 then 'aspnet_Membership插入失败' end);ROLLBACK;
start TRANSACTION; -- 和COMMIT;配对使用
set t_node=6;
SELECT
COUNT(DISTINCT datatime) FROM `report_site_day_snapshot` INTO a ;
set t_node=7;
删除的sql;
插入的sql;
COMMIT;
END ;;
DELIMITER ;
IF EXISTS huike_transfer_day;
DELIMITER ;;
CREATE DEFINER = `root`@`localhost` PROCEDURE huike_transfer_day ()
BEGIN
DECLARE a int;
declare t_node int;
declare exit handler for sqlexception select concat('失败:',case t_node when 1 then 'aspnet_Users插入失败' when 2 then 'aspnet_Membership插入失败' end);ROLLBACK;
start TRANSACTION; -- 和COMMIT;配对使用
set t_node=6;
SELECT
COUNT(DISTINCT datatime) FROM `report_site_day_snapshot` INTO a ;
set t_node=7;
删除的sql;
插入的sql;
COMMIT;
END ;;
DELIMITER ;
相关文章推荐
- 一个事务包含多个存储过程,经测试如果出现异常绝对可以回滚到起点
- oracle_存储过程_没有参数_根据配置自动创建申请单以及写日志事务回滚
- mssql 和 mysql的区别,让自动增长列自动递增就必须指定其他列名,mysql创建事务,如果插入的字符多余字段的值,会报错?截取插入?带输出参数的存储过程,带If else判断
- 定时运行exe,并能在出现异常自动重新运行的小软件
- (四)yii修改表结构导致model创建表单出现字段为定义
- Spring事务管理只对出现运行期异常进行回滚
- Spring事务管理只对出现运行期异常进行回滚
- 项目里出现的问题02(xcode的插件安装路径)(自动创建launchimage)
- 释放动态创建的二维数组时出现内存访问异常
- 异常-创建项目时会自动创建一个Appcompat_v7项目,而且报错
- Spring事务管理只对出现运行期异常进行回滚
- Spring事务管理只对出现运行期异常进行回滚
- 关于Visual Studio 2012 RTM 中创建windows 8 style类型的应用出现的XamlParseException 异常
- PHP调用gradle在服务器自动生成apk出现的lint无法创建目录解决
- 解决AssignmentHandler 出现异常事务无法回滚问题
- SQL SERVER 用存储过程 自动创建维护数据库快照
- EF(Entity Framework)发生错误”正在创建模型,此时不可使用上下文“的解决办法。 正在创建模型,此时不可使用上下文。如果在 OnModelCreating 方法内使用上下文或如果多个线程同时访问同一上下文实例,可能引发此异常。请注意不保证 DbContext 的实例成员和相关类是线程安全的。 临时解决了这个问题,在Context的构造函数中,禁用了自动初始化:
- Android在子线创建Handler出现异常的原因及解决办法
- Mysql创建存储过程时,出现ERROR 1064 (42000):的原因的一种
- sql server 脚本创建备份数据库的存储过程及利用前述存储过程自动备份数据库的作业