2.1   Mysql触发器的基本使用

创建触发器。创建触发器语法如下:

CREATE TRIGGER trigger_name trigger_time trigger_event

ON tbl_name FOR EACH ROW trigger_stmt

其中trigger_name标识触发器名称,用户自行指定;

trigger_time标识触发时机,用before和after替换;

trigger_event标识触发事件,用insert,update和delete替换;

tbl_name标识建立触发器的表名,即在哪张表上建立触发器;

trigger_stmt是触发器程序体;触发器程序可以使用begin和end作为开始和结束,中间包含多条语句;

下面给出sfrd一个触发器实例:

CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER trig_useracct_update

AFTER UPDATE

ON SF_User.useracct FOR EACH ROW

BEGIN

IF OLD.ulevelid = 10101 OR OLD.ulevelid = 10104 THEN

IF NEW.ulevelid = 10101 OR NEW.ulevelid = 10104 THEN

if NEW.ustatid != OLD.ustatid OR NEW.exbudget != OLD.exbudget THEN

INSERT into FC_Output.fcevent set type = 2, tabid = 1, level = 1, userid = NEW.userid, ustatid = NEW.ustatid, exbudget = NEW.exbudget;

end if;

ELSE

INSERT into FC_Output.fcevent set type = 1, tabid = 1, level = 1, userid = NEW.userid, ustatid = NEW.ustatid, exbudget = NEW.exbudget;

END IF;

END IF;

END;

上述触发器实例使用了OLD关键字和NEW关键字。OLD和NEW可以引用触发器所在表的某一列,在上述实例中,OLD.ulevelid表示表SF_User.useracct修改之前ulevelid列的值,NEW.ulevelid表示表SF_User.useracct修改之后ulevelid列的值。另外,如果是insert型触发器,NEW.ulevelid也表示表SF_User.useracct新增行的ulevelid列值;如果是delete型触发器OLD.ulevelid也表示表SF_User.useracct删除行的ulevelid列原值。

另外,OLD列是只读的,NEW列则可以在触发器程序中再次赋值。

上述实例也使用了IF,THEN ,ELSE,END IF等关键字。在触发器程序体中,在beigin和end之间,可以使用顺序,判断,循环等语句,实现一般程序需要的逻辑功能。

查看触发器。查看触发器语法如下,如果知道触发器所在数据库,以及触发器名称等具体信息:

SHOW TRIGGERS from SF_User like "usermaps%";       //查看SF_User库上名称和usermaps%匹配的触发器

如果不了解触发器的具体的信息,或者需要查看数据库上所有触发器,如下:

SHOW TRIGGERS;       //查看所有触发器

举例:

//添加

CREATE TRIGGER trig_insert_user

AFTER INSERT

ON test.ttt FOR EACH ROW

BEGIN

INSERT into ttt.user set username=NEW.name;

END

//删除

CREATE TRIGGER trig_delete_user

AFTER DELETE

ON test.ttt FOR EACH ROW

BEGIN

DELETE from ttt.user where username=OLD.name;

END

//更新

CREATE TRIGGER trig_update_user

AFTER UPDATE

ON test.ttt FOR EACH ROW

BEGIN

UPDATE ttt.user set username=NEW.name where

username=OLD.name;

END

销售系统数据库触发器MySQL_mysql数据库触发器详解相关推荐

  1. java计算机毕业设计古惠农产品线上销售系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计古惠农产品线上销售系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计古惠农产品线上销售系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目 ...

  2. java计算机毕业设计忻府区饭中有豆粮油销售系统源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计忻府区饭中有豆粮油销售系统源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计忻府区饭中有豆粮油销售系统源码+mysql数据库+lw文档+系统+调试部署 本源 ...

  3. JAVA计算机毕业设计忻府区饭中有豆粮油销售系统Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计忻府区饭中有豆粮油销售系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计忻府区饭中有豆粮油销售系统Mybatis+源码+数据库+lw文档+系统+调 ...

  4. SQL Server中通用数据库角色权限的处理详解

    SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...

  5. mysql数据 odbc_MySQL数据库之mysql odbc 配置详解、解决方案

    本文主要向大家介绍了MySQL数据库之mysql odbc 配置详解.解决方案 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.安装mysql 以及mysql odbc 要注 ...

  6. hbase 二进制数据写入_分布式数据库HBase的架构设计详解(有彩蛋)

    原标题:分布式数据库HBase的架构设计详解(有彩蛋) 本文根据DBAplus社群第99期线上分享整理而成,文末还有好书送哦~ 讲师介绍 陈鸿威 云财经大数据CTO 曾任百度高级工程师,现主持设计开发 ...

  7. mysql odbc_MySQL数据库之mysql odbc 配置详解、解决方案

    本文主要向大家介绍了MySQL数据库之mysql odbc 配置详解.解决方案 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.安装mysql 以及mysql odbc 要注 ...

  8. mysql数据库定点任务_MySQL数据库Event定时执行任务详解

    一.背景 由于项目的业务是不断往前跑的,所以难免数据库的表的量会越来越庞大,不断的挤占硬盘空间.即使再大的空间也支撑不起业务的增长,所以定期删除不必要的数据是很有必要的.在我们项目中由于不清理数据,一 ...

  9. 067:【Django数据库】ORM查询条件详解-range

    [Django数据库]ORM查询条件详解-range range: 判断某个 field 的值是否在给定的区间中.示例代码如下: # views.py文件内容:from datetime import ...

  10. mysql in从数据库取数_MySQL数据库中 where in 用法详解

    本文主要向大家介绍了MySQL数据库中 where in 用法详解,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这里分两种情况来介绍 WHERE column IN (valu ...

最新文章

  1. mysql5.5乱码问题_如何解决MySQL5.5的中文乱码问题
  2. openssl 从cer文件中提取公钥
  3. python3模块socket怎么安装_Python中socket模块的使用方法(一)
  4. 上线数据导入的几个注意事项
  5. chrome xp 扫描此文件时,防病毒软件意外失败
  6. winform 代码定义事件
  7. js传真实地址 C:\fakepath
  8. 蓝桥杯 123 二分+打表
  9. Stream流的基本使用方法
  10. 计算机网络 --- 传输层TCP协议
  11. 1024乘风破浪季,3本好书助你平步青云
  12. POJ 2409 Let it Bead(Polya简单应用)
  13. 一键批量检测微信是否被好友删除
  14. Gif截图工具——GifCam
  15. C语言模拟实现虚拟存储管理(请求分页存储管理)
  16. [Matlab]脚本实现Excel单元格内容首尾空格删除
  17. 成为软件工程师之前,你必须了解这些
  18. ES7和ES8常见新特性
  19. 好用且必备——思维导图软件
  20. EN 13226木地板带有凹槽与舌状连接的实木地板

热门文章

  1. 今天来聊聊什么类型的APP不能开发
  2. Detector(object)
  3. Rust vs. Go:为什么强强联合会更好
  4. 计算机病毒解析与防范摘要,计算机病毒解析与防范技术研究 毕业论文.doc
  5. Java面向对像小项目 慕课网Java入门第二季滴滴租车系统
  6. error C2227: “-QueryInterface”的左侧必须指向类/结构/联合
  7. HCIE-双点双向引入
  8. 【第一章】 jQuery入门---选择器 and $工具属性CSS
  9. 思路方向:如何在移动端实现3A级画面 from《使命召唤手游》技术副总监
  10. 解决ajax跨域问题的5种解决方案