码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 存储过程

时间:2019-02-25 18:46:51      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:lan   value   提交   proc   nsa   not found   har   delete   handle   

创建数据表

DROP TABLE IF EXISTS `ims_z_my_info`;
CREATE TABLE `ims_z_my_info` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`balance` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of ims_z_my_info
-- ----------------------------
INSERT INTO `ims_z_my_info` VALUES (‘1‘, ‘11‘, ‘111‘);
INSERT INTO `ims_z_my_info` VALUES (‘2‘, ‘22‘, ‘222‘);
INSERT INTO `ims_z_my_info` VALUES (‘3‘, ‘33‘, ‘333‘);

 

 

创建存储过程

DROP PROCEDURE IF EXISTS proc2;
delimiter //
CREATE PROCEDURE proc2(IN cid CHAR(18), OUT num INT)
BEGIN
#事务处理标志
DECLARE t_error INTEGER DEFAULT 0;
#申明事务处理错误标志
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION, sqlwarning, not found SET t_error=1;

#开始事务
START TRANSACTION;

DELETE FROM ims_z_my_info WHERE iddd = cid;
SELECT count(id) INTO num FROM ims_z_my_info;

IF t_error = 1 THEN
#订单回滚
ROLLBACK;
# 捕捉到sql语句错误,插入一条新纪录。
INSERT INTO ims_z_my_info VALUES(‘22‘, ‘xxxx‘, ‘22334545‘);
ELSE
#提交
COMMIT;
END IF;
END //
delimiter ;

 

执行语句

SELECT * FROM ims_z_my_info;
call proc2(1, @num)
SELECT @num

MySQL 存储过程

标签:lan   value   提交   proc   nsa   not found   har   delete   handle   

原文地址:https://www.cnblogs.com/zhidongjian/p/10432129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!