ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql创建触发器

2021-07-05 20:01:59  阅读:249  来源: 互联网

标签:触发器 支票 NO 创建 账户 CheckingBalance mysql acct


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

  • 表 acct,字段如下表所示:
列名 数据类型 是否空 其他
SSN Varchar(18) NO 主键
Name Varchar(20) NO
SavingBalance Decimal(7,2) NO
CheckingBalance Decimal(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 ;

标签:触发器,支票,NO,创建,账户,CheckingBalance,mysql,acct
来源: https://www.cnblogs.com/MintKame/p/14974117.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有