mysql创建触发器

一个银行客户有一个储蓄账户和一个支票账户。当客户从支票账户中取款的金额超过支票账户的余额时,如果储蓄账户的余额能够抵消产生的透支,则发生一次自动转账,即自动从客户的储蓄账户将透支的金额转账到支票账户;否则,拒绝该操作。 要求使用触发器提供账户透支保护。

  • 表 acct,字段如下表所示:
列名数据类型是否空其他
SSNVarchar(18)NO主键
NameVarchar(20)NO
SavingBalanceDecimal(7,2)NO
CheckingBalanceDecimal(7,2)NO
  • 在 MySQLWorkbench 中,创建触发器 OVERDRAFT,在对 acct 表的
    CheckingBalance 字段执行 UPDATE 操作之前激活触发器完成自动转账。
    参考触发条件: NEW.CheckingBalance<0。 转账失败时需要给出提示信
    息。
delimiter // 
create trigger OVERDRAFT before update on acct
for each row
begin 
	if (NEW.CheckingBalance < 0) 
    then 
		signal sqlstate 'HY000' set message_text = '余额不足';
	end if;
end; //
delimiter ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值