一个分享WordPress、Zblog、Emlog、Typecho等主流博客的教程网站!
当前位置:网站首页 > 编程知识 > 正文

mysql存储过程实现总分表记账添加删除修改后自动更新汇总

作者:xlnxin发布时间:2025-02-10分类:编程知识浏览:70


导读:DELIMITER // CREATE PROCEDURE UpdateAccountBalance(  &...
DELIMITER //
 
CREATE PROCEDURE UpdateAccountBalance(
    IN account_id INT,
    IN amount DECIMAL(10, 2)
)
BEGIN
    UPDATE accounts
    SET balance = balance + amount
    WHERE account_id = account_id;
END //
 
DELIMITER ;

调用方法

CALL UpdateAccountBalance(1, 50.50);  -- 增加账户ID为1的账户余额50.50
CALL UpdateAccountBalance(1, -100.00); -- 减少账户ID为1的账户余额100.00

事务处理

DELIMITER //
 
CREATE PROCEDURE UpdateAccountBalance(
    IN account_id INT,
    IN amount DECIMAL(10, 2)
)
BEGIN
    START TRANSACTION;
    UPDATE accounts
    SET balance = balance + amount
    WHERE account_id = account_id;
    COMMIT;
END //
 
DELIMITER ;

标签:mysql