联系QQ:884563046点击这里给我发消息

mysql、sqlsever、oracle数据库课程设计触发器演示trigger示例

什么是触发器

比如你现在有两个表【商品表】和【商品日志表】,当一个商品被创建或修改的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日志表中插入一条日志信息。当然触发器并不是只能进行插入操作,还能执行修改,删除。

1、创建商品表和商品日志表两个表

DROP TABLE IF EXISTS `t_goods_log`;
CREATE TABLE `t_goods_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`catelog` varchar(50) DEFAULT ‘0’,
`name` varchar(50) DEFAULT NULL,
`jieshao` varchar(5000) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `goods`;
CREATE TABLE `t_goods_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`catelog` varchar(50) DEFAULT ‘0’,
`name` varchar(50) DEFAULT NULL,
`jieshao` varchar(5000) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;

2、创建添加触发器(注意红色部分)
CREATE TRIGGER t_goodsinser
AFTER INSERT ON t_goods
FOR EACH ROW
BEGIN
insert into t_goods_log(name,catelog,jieshao) values (new.name,new.catelog,new.jieshao);
END;3、创建更新触发器CREATE TRIGGER t_goodsup
AFTER UPDATE ON t_goods
FOR EACH ROW
BEGIN
insert into t_goods_log(name,catelog,jieshao) values (new.name,new.catelog,new.jieshao,new.jiage);
END;

4、删除触发器
 drop TRIGGER t_goodsup

5查看触发器

SHOW TRIGGERS语句查看触发器信息

 

 

微信(不常用)和QQ同号: 884563046点击这里给我发消息

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注