mysql 存储过程示例

DROP PROCEDURE IF EXISTS `p_userinfo_delete`;
DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `p_userinfo_delete`(IN mobilePhone_ VARCHAR(11))
     MODIFIES SQL DATA
     COMMENT '删除用户信息'
    BEGIN
	-- 用户ID
	DECLARE userId_ VARCHAR(8);
	-- 错误标识
	DECLARE t_error INT DEFAULT 0;
	
	DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error = 1;
	
        START TRANSACTION;	

	IF (t_error = 0 AND mobilePhone_ IS NOT NULL)
	THEN
	
		SELECT id INTO userId_ FROM `user` WHERE mobilePhone = mobilePhone_;
		
		-- 删除用户表
		DELETE FROM `user` WHERE id = userId_;

	END IF;
	
	IF t_error =0
	THEN
		COMMIT;
	ELSE 
		ROLLBACK;
	END IF;

    END$$

DELIMITER ;

使用事务进行处理

转载于:https://www.cnblogs.com/Leo-xin/p/6297900.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值