《mysql触发器实例附答案》由会员分享,可在线阅读,更多相关《mysql触发器实例附答案(4页珍藏版)》请在金锄头文库上搜索。
1、触发器和常用函数第一部分:触发器概念题1触发器的含义和作用实践题 在product表上创建三个触发器。每次激活触发器后,都会更新operate表。product表和operate表的内容如下Product表内容字段名字段描述数据类型主键外键非空唯一自增Id产品编号Int(10)是否是是否Name产品功能Varchar(20)否否是否否Function主要功能Varchar(50)否否否否否Company生产厂家Varchar(20)否否是否否Address家庭住址Varchar(20)否否否否否Operate表的内容字段名字段描述数据类型主键外键非空唯一自增Op_id编号Int(10)是否是是
2、是Op_type操作方式Varchar(20)否否是否否Op_time操作时间Time否否是否否按照下列要求进行操作1 在product表上分别创建BEFORE INSERT、AFTER UPDATE和AFTER DELETE 3个触发器,触发器名称分别为product_bf_insert、product_af_update和product_af_del。执行语句部分都是向operate表插入操作方法和操作时间。2 对product表分别执行INSERT、UPDATE和DELETE操作3 删除product_bf_insert和product_af_update这两个触发器执行步骤1创建pro
3、duct表和operate表2创建product_bf_insert触发器3创建product_af_update触发器4创建product_af_del触发器5对product表进行操作6删除触发器第二部分:MySQL常用函数文本函数数字函数日期和时间函数概念题触发器是由INSERT、UPDATE和DELETE等事件来触发某种特定操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作的一致性。实践题1 CREATE TABLE product( id INT(10) NOT NULL UNIQUE PRIMARY KEY, name VARCHAR(2
4、0) NOT NULL, function VARCHAR(50), company VARCHAR(20) NOT NULL, address VARCHAR(50) );CREATE TABLE operate( op_id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, op_name VARCHAR(20) NOT NULL, op_time TIME NOT NULL, );2 CREATE TRIGGER product_bf_insert BEFORE INSERT ON poduct FOR EACH ROW INSERT
5、 INTO operate VALUES(null,Insert product,now(); SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME=product_bf_insert G*(查看触发器product_bf_insert基本信息)3 CREATE TRIGGER product_af_update AFTER UPDATE ON product FOR EACH ROW INSERT INTO operate VALUES(null,Update product,now();4 CREATE TRIGGER p
6、roduct_af_del AFTER DELETE ON product FOR EACH ROW INSERT INTO operate VALUES(null,delete product,now();5 INSERT INTO product VALUES(1,abc,治疗感冒,北京abc制药厂,北京市昌平区); SELECT * FROM operate; UPDATE product SET address=北京市海淀区 WHERE id=1; SELECT * FROM operate; DELETE FROM product WHERE id=1; SELECT * FROM operate;6 DROP TRIGGER product_bf_insert; DROP TRIGGER product_af_update;