准备:
1 创建日志表

DROP TABLE IF EXISTS `demo`;
CREATE TABLE `demo` (
  `id` int DEFAULT NULL,
  `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `logs`;
CREATE TABLE `logs` (
  `code` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `demo` VALUES ('2', 'zz');

INSERT INTO `demo` VALUES ('1', 'yy');
INSERT INTO `demo` VALUES ('3', 'sz');

mysql 视图,触发器,存储过程_存储过程

1 视图
视图创建
create view  v_user  as  select * from demo;

mysql 视图,触发器,存储过程_存储过程_02

视图
select * from v_user;

mysql 视图,触发器,存储过程_数据_03

2 触发器

创建触发器

DELIMITER ||
 CREATE TRIGGER demo BEFORE INSERT
 ON demo FOR EACH ROW
 BEGIN
    INSERT INTO logs VALUES(NOW());
 END
 ||

 DELIMITER ;

mysql 视图,触发器,存储过程_存储过程_04

测试
 INSERT INTO `demo` VALUES ('1', 'a');

mysql 视图,触发器,存储过程_数据_05

结果
`logs` 表中有数据
select * from `logs`

mysql 视图,触发器,存储过程_数据_06

3  存储过程

创建
DELIMITER ||

CREATE PROCEDURE delete_proc(IN p_playerno INTEGER)
 BEGIN
 DELETE FROM demo
 WHERE id = p_playerno;
END
 ||

mysql 视图,触发器,存储过程_触发器_07

测试
call delete_proc(1);

mysql 视图,触发器,存储过程_数据_08

查询
select * from demo

mysql 视图,触发器,存储过程_存储过程_09