mysql存储过程及流程控制

创建一个用户存取钱的存储过程(pro_upuser):
a.要求含有两个参数,用于传递用户id和用户存取金额。
b.当金额为正数时代表存钱,用户账户金额要增加; 
  为负数时表示取钱,要先判断余额是否充足,如果充足就可以取钱,并修改用户余额,否则提示金额不足

 

请问如何实现这个存储过程,求大神指点

CREATE PROCEDURE pro_upuser(IN id INT, IN amount DECIMAL(10.2))
BEGIN
    IF amount > 0 THEN
        UPDATE  Account
        SET     Balance = Balance + amount 
        WHERE   account_id = id;
    ELSE
        DECLARE Bal DECIMAL(10,2)
        SELECT Balance INTO BalFROM Account WHERE account_id = id;

        IF BAL + amount > 0 THEN
            UPDATE  Account
            SET     Balance = Balance + amount 
            WHERE   account_id = id;
        ELSE
            SET MESSAGE_TEXT = 'Insufficient balance.'
        END IF
    END IF
END