一,创建表
1,创建produoct表
CREATE TABLE Product (
Id INT(10) PRIMARY KEY AUTO_INCREMENT,
`Function` VARCHAR(50),
Company VARCHAR(20) NOT NULL,
Address VARCHAR(20)
);
2,创建Operate表
CREATE TABLE Operate (
Op_id INT(10) PRIMARY KEY AUTO_INCREMENT,
Op_type VARCHAR(20) NOT NULL,
Op_time VARCHAR(20) NOT NULL
);
二,触发器
1、在product表上分别创建BEFORE INSERT、AFTER UPDATE和AFTER DELETE 3个触发器,
触发器名称分别为product_bf_insert、product_af_update和product_af_del。执行语句
部分是向operate表插入操作方法和操作时间。
(1)创建product_bf_insert触发器:
DELIMITER //
CREATE TRIGGER product_bf_insert
BEFORE INSERT ON Product
FOR EACH ROW
BEGIN
INSERT INTO Operate (Op_type, Op_time) VALUES ('Insert', NOW());
END;
//
(2)创建product_af_update触发器:
DELIMITER //
CREATE TRIGGER product_af_update
AFTER UPDATE ON Product
FOR EACH ROW
BEGIN
INSERT INTO Operate (Op_type, Op_time) VALUES ('Update', NOW());
END;
//
(3)创建product_af_del触发器:
DELIMITER //
CREATE TRIGGER product_af_del
AFTER DELETE ON Product
FOR EACH ROW
BEGIN
INSERT INTO Operate (Op_type, Op_time) VALUES ('Delete', NOW());
END;
//
2、对product表分别执行INSERT、UPDATE和DELETE操作
(1)INSERT操作:向product表中插入一条记录。
INSERT INTO product(Id,`Function`, Company, Address)
VALUES(1, '通话', '陕西', '西安');
(2)UPDATE操作:更新product表中的一条记录。
UPDATE product
set Company='山东'
where id=1;
(3)DELETE操作:删除product表中的一条记录。
DELETE FROM product
WHERE id = 1;
3、删除product_bf_insert和product_af_update这两个触发器
DROP TRIGGER product_bf_insert;
DROP TRIGGER product_af_update;