BEGIN
UPDATE user SET money = money - 100 WHERE id = 1;
UPDATE user SET money = money + 100 WHERE id = 2;
END;DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;
UPDATE user SET money = money - 100 WHERE id = 1;
UPDATE user SET money = money + 100 WHERE id = 2;
COMMIT;START TRANSACTION; DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;COMMIT; ALTER TABLE account ADD INDEX idx_id (id); DELIMITER $$
CREATE PROCEDURE transfer_money()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT '转账失败,已回滚' AS msg;
END;
START TRANSACTION;
UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;
COMMIT;
SELECT '转账成功' AS msg;
END$$
DELIMITER ;
CALL transfer_money();DBeaver连接MSSQL的实战指南
朕的SQL今天不想加班——顺序执行这件“小”事
MySQL数据库新手入门指南:轻松搭建数据库
WordPress用户前台:提升访客掌控感与交互体验
幽默应对WordPress迁移500错误指南
轻松导入商品,让商城瞬间热闹起来
Apache Discuz 伪静态规则:优化论坛URL结构提升用户体验
DBeaver连接MSSQL的实战指南
MySQL数据库新手入门指南:轻松搭建数据库
MySQL 5.7 安装与维护指南
深入解析MySQL数据获取优化
群辉NAS与MSSQL数据库的整合指南
数据库改简历:MySQL表修改的幽默指南
SQL LIMIT子句的欢乐之旅
MSSQL收费全攻略:免费与付费的平衡艺术
SQL Server 新手入门:如何幽默地创建表
数据库排序的欢乐舞步
数据库里的宫廷戏:如何幽默地修改MySQL表名
数据库中的“limit”魔法,轻松掌握SQL Server数据筛选