博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySql,MariaDB 存储过程和函数研究
阅读量:6848 次
发布时间:2019-06-26

本文共 902 字,大约阅读时间需要 3 分钟。

hot3.png

注意事项:

1、在函数体中使用变量不需要任何标识符,变量定义为a1则直接使用a1,

在设计中充分利用触发器能够大量降低PHP逻辑代码的复杂度,

如博客系统中的日志功能,能够根据blog_content表中的after_add和after_update触发器来自动添加修改记录以实现自动记录功能而不必等待PHP逻辑中去控制。

在触发器中引用新插入行的内容值时用 NEW.字段名 来定义

以下SQL是博客组建的blog_content表:

CREATE TABLE `a_blog_content` (  `BlogID` int(11) unsigned NOT NULL,  `Content` text NOT NULL,  `UTime` int(10) unsigned NOT NULL,  PRIMARY KEY (`BlogID`),  CONSTRAINT `FK_FK_BlogContent` FOREIGN KEY (`BlogID`) REFERENCES `a_blog` (`BlogID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TRIGGER `on_edit` AFTER UPDATE ON `a_blog_content` FOR EACH ROW insert into a_blog_edit_log(BlogID,Content,Time) values(NEW.BlogID,NEW.Content,UNIX_TIMESTAMP());

该触发器能够在这张表被修改时自动的添加内容修改记录到blog_edit_log中

可以利用触发器来实现指定数据的更新,

在进销存中存在订单结算的逻辑,订单结算中,需要先检查客户、供应商的欠款信息,检查订单是否被结算完成,结算金额是否大于当前尚欠金额,如果大于金额则提示,如果强行执行则多余金额转移到用户钱包中。因此此处对订单的结算记录工作可以用到触发器自动添加数据库记录。

转载于:https://my.oschina.net/yanpengquan/blog/652158

你可能感兴趣的文章
Vue风格指南小结
查看>>
RecyclerView嵌套CheckBox滑动错位
查看>>
线性回归,逻辑回归的学习(包含最小二乘法及极大似然函数等)
查看>>
Kafka入门经典教程
查看>>
Basic Of Concurrency(十八: 阻塞队列)
查看>>
如何在react中使用echarts? echarts-for-react
查看>>
Python第三方库
查看>>
Windows 下怎样编程更有逼格
查看>>
前端面试题
查看>>
Node 朴灵
查看>>
PostgreSQL Like查询与正则表达式
查看>>
Robotium 白盒 黑盒测试
查看>>
BCH压力测试取得圆满成功,最大区块达21.3MB
查看>>
VideoToolbox解析
查看>>
Item 10 Always override toString
查看>>
比特币现金对穷人更友善
查看>>
DUBBO服务治理
查看>>
自定义Dialog
查看>>
值类型+引用类型+ref
查看>>
菱形组网之BGP MED、负载分担及GR篇
查看>>