CREATE TABLE ACCOUNT(
ACCOUNTNUM INT primary key;
total decimal;
)
CREATE PROCEDURE TRANSFER
@inAccount INT,
@outAccount INT,
@amount decimal
AS DECLARE
@totalDeposit decimal;
/* 检查转出账户的余额 */
SELECT @totalDeposit=total
FROM ACCOUNT1 WHERE ACCOUNTNUM=@outAccount;
IF @totalDeposit IS NULL /* 账户不存在或账户中没有存款 */
RETURN;
IF @totalDeposit < @amount /* 账户账户存款不足 */
RETURN;
UPDATE ACCOUNT1 SET total=total-@amount WHERE ACCOUNTNUM=@outAccount;
/* 修改转出账户,减去转出额 */
UPDATE ACCOUNT1 SET total=total + @amount WHERE ACCOUNTNUM=@inAccount;
/* 修改转入账户,增加转出额 */
EXECUTE TRANSFER 1,2,5000;