一、验证性实验
某同学定义产品信息product表,主要信息有:产品编号、产品名称、主要功能、生产厂商、c厂商地址,生成product表的SQL代码如下:
CREATE TABLE product (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR(20) NOT NULL ,
function VARCHAR(50) ,
company VARCHAR(20) NOT NULL,
address VARCHAR(50)
);

在对product表进行数据操作时,需要对操作的内容和时间进行记录。于是定义了operate表,其表生成SQL语句为:
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
);

请完成如下任务:
1.在product表上分别创建BEFORE INSERT、AFTER UPDATE和AFTER DELETE3个触发器,触发器的名称分别为Tproduct_bf_insert、Tproduct_af_update和Tproduct_af_del。执行语句部分都是向operate表插入操作方法和操作时间。
(1)创建Tproduct_bf_insert触发器SQL代码如下:
CREATE TRIGGER Tproduct_bf_insert BEFORE INSERT
ON product FOR EACH ROW
INSERT INTO operate VALUES(null, ‘Insert product’, now());

(2)创建Tproduct_af_update触发器的SQL代码如下:
CREATE TRIGGER Tproduct_af_update AFTER UPDATE
ON product FOR EACH ROW
INSERT INTO operate VALUES(null, ‘Update product’, now());

(3)创建Tproduct_af_del触发器的SQL代码如下:
CREATE TRIGGER Tproduct_af_del AFTER DELETE
ON product FOR EACH ROW
INSERT INTO operate VALUES(null, ‘delete product’, now());

2.对product表分别执行INSERT、UPDATE和DELETE操作,分别查看operate表。
(1)对product表中插入一条记录:1, ‘abc’,‘治疗感冒’, ‘北京abc制药厂’,‘北京市昌平区’
SQL代码:INSERT INTO product VALUES(1, ‘abc’,‘治疗感冒’, ‘北京abc制药厂’,‘北京市昌平区’);

(2)更新记录,将产品编号为1的厂商住址:改为“北京市海淀区”。
SQL代码:UPDATE product SET address=‘北京市海淀区’ WHERE id=1;

(3)删除产品编号为1的记录。
SQL代码:DELETE FROM product WHERE id=1;

3.删除Tproduct_bf_update触发器
DROP TRIGGER Tproduct_bf_insert;

二、设计性实验
1.在product表上分别创建AFTER INSERT、BEFORE UPDATE和BEFORE DELETE 3个触发器, 触发器的名称分别为product_af_insert、product_af_update和Tproduct_bf_del。执行语句部分都是向operate表中插入操作方法和操作时间。
create trigger product_af_insert after insert
on product for each row
insert into operate values(null,‘insert product’,now());

create trigger product_af_update before insert
on product for each row
insert into operate values(null,‘update product’,now());

create trigger product_bf_del before insert
on product for each row
insert into operate values(null,‘delete product’,now());

2.查看product_bf_del触发器的基本结构。
show triggers;

3.对product表分别执行如下INSERT、UPDATE和DELETE操作,分别查看operate表。
INSERT INTO product VALUES(2, ‘止血灵’,‘止血’, ‘北京止血灵制药厂’,‘北京市昌平区’);

UPDATE product SET address=‘天津市开发区’ WHERE id=2;

DELETE FROM product WHERE id=2;


4.删除product_bf_update触发器。
drop trigger product_bf_update;

触发器的创建与管理实验相关推荐

  1. 第十章触发器的创建与管理

    第十章触发器的创建与管理 10.1_触发器简介 10.2_触发器的创建.修改.删除 10.2.1_触发器的创建 10.2.2_触发器的修改 10.2.3_触发器的删除 10.2.4_触发器的创建.修改 ...

  2. oracle数据库、数据表的创建与管理 实验笔记二

    如何在命令窗口复制粘贴 鼠标移动到窗口边框然后右击 正文: 1.启动SQL*Plus,以SYS身份连接默认数据库. 2.创建一个用户默认表空间H1,并为该用户授相应的权限. 4.以新建用户身份连接默认 ...

  3. mysql索引的创建与管理实验_mysql索引创建与管理笔记

    什么是索引 索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构. 其作用主要在于提高查询的速度,降低数据库系统的性能开销. 通过索引,查询数据不必读完记录的全部信息进行匹配,而是只查询索 ...

  4. 实验1 在MySQL创建数据库及表_数据库表的创建、管理和数据操作(实验一),数据库创建...

    数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识. ...

  5. mysql的触发器实验报告_数据库原理实验报告s11-数据库触发器的创建.doc

    数据库原理实验报告s11-数据库触发器的创建.doc 数据库管理系统SQLSERVER实验报告第1页2011年5月4日实验11数据库触发器的建立实验日期和时间20141128实验室软件工程室班级12计 ...

  6. 数据库笔记12:创建与管理触发器

    /***************************  第十二单元 创建与管理触发器 ****************************/ /*  知识点学习:参看教材P226~227  1 ...

  7. 实验三 mysql数据库与表的创建_实验二 数据库和表的创建与管理

    实验二 数据库和表的创建与管理 创建用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表).Departments(部门信息表).Salary ...

  8. MySQL索引、视图创建与管理操作实验

    实验4:索引.视图创建与管理操作实验 一.实验目的: 理解索引的概念与类型. 掌握创建.更改.删除索引的方法. 掌握维护索引的方法. 理解视图的概念. 掌握创建.更改.删除视图的方法. 掌握使用视图来 ...

  9. sqlserver数据库实验 实验九 触发器的创建与使用

    实验九触发器的创建与使用 一.实验目的 本实验的目的是使学生进一步掌握SQL Server触发器的创建及使用方法,加深SQL触发器的理解.通过对数据的更新操作体会其触发器的作用. 二.实验准备 结合课 ...

最新文章

  1. 【QT】Qtcreator的设计模式中将控件提升为自定义的控件
  2. Java Date 和 Calendar 实例
  3. kali debian 安装mysql_在Kali Linux和Debian 8/9 64位上安装Wine的方法
  4. ssb门限_画出滤波法ssb信号调制器模型,并说明低通和高通滤波器分别得到哪个边带信号...
  5. Python进阶之“属性(property)”详解
  6. php饿死,中国第一懒人:父母去世后,23岁的他饿死家中
  7. java实现中缀表达式转后缀表达式
  8. Java第四次作业,面向对象高级特性(继承和多态)
  9. 转:iris数据集及简介
  10. Foxit PDF Creator注册码
  11. android设置背景图片透明
  12. centOS安装vnc远程桌面
  13. 从程序员到项目经理(九):程序员加油站 — 再牛也要合群
  14. mysql实时同步软件,MySQL实时同步到Oracle 详解MySQL实时同步到Oracle解决方案
  15. Android百度地图
  16. 通过HbuilderX启动 微信开发者工具
  17. 瞬态抑制二极管TVS的基本知识
  18. [提醒]曾经犯的谜之错误
  19. Axure RP 9基础教程(四)-文件及文件设置
  20. 4400php兑换美金是多少,美金人民币换算(美金兑换人民币换算)

热门文章

  1. The disk drive for /media/boot is not ready yet or not prese
  2. sap 获取计划订单bapi_SAP 生产模块常用BAPI
  3. 某互联网银行绿色金融背后的“安全秘诀”
  4. SAP ABAP 使用BAPI对交货单拣配,发货过账WS_DELIVERY_UPDATE,BAPI_OUTB_DELIVERY_CONFIRM_DEC
  5. 状态机架构 例3包文类型识别
  6. BigDecimal与科学计数法的问题
  7. 【深入YoloV5(开源)】基于YoloV5的模型优化技术与使用OpenVINO推理实现
  8. 快速打爆新品:前两周高权重操作技巧
  9. 为什么ls看到的文件大小和du看到的文件大小不同
  10. Java工厂设计模式(简单计算器实现)