当前位置:文档之家› 实验八存储过程、存储函数和触发器

实验八存储过程、存储函数和触发器

实验八存储过程、存储函数和触发器
实验八存储过程、存储函数和触发器

《MySQL数据库应用》实验指导

实验八存储过程、存储函数和触发器

一、实验目的

1、掌握存储过程创建和调用的方法;

2、掌握存储函数创建和调用的方法;

3、掌握游标的使用方法;

4、掌握触发器的使用方法;

5、掌握事件的创建和使用方法。

二、实验学时

2学时

三、实验类型

验证性

四、实验需求

1、硬件

每位学生配备计算机一台:Pentium III以上处理器,2G或以上内存,2G或以上硬盘空间。

2、软件

Windows操作系统,安装MySQL Community Server软件。

3、网络

局域网环境。

4、工具

无。

五、实验理论与预备知识

1、了解存储过程中允许sql语句类型和参数的定义方法;

语法格式:

CREATE PROCEDURE存储过程名([过程参数...])

[特征...]存储过程体

2、了解存储过程的调用方法;

语法格式:

CALL存储过程名([参数...]

3、了解存储函数的定义和调用方法;

语法格式:

CREATE FUNCTION存储过程名([参数...])

RETURNS type

[特征...]存储函数体

存储函数的调用:

SELECT存储函数名([参数[,...]])

4、了解触发器的作用和使用方法;

语法格式:

CREATE TRIGGER触发器名触发时刻触发事件

ON表名FOR EACH ROW触发器动作

5、了解游标的使用方法。

语法格式:

声明游标DECLARE游标名CURSOR FOR select语句

打开游标OPEN游标名

读取数据FETCH游标名INTO变量名...

关闭游标CLOSE游标名

六、实验内容与结果

以数据库user_db及数据表student、teacher、class、course、sc为基础(数据表及相关表数据来源于实验三),请将实现功能的SQL语句填写到实验报告册;

1、创建user_db数据库的存储过程,判断两个输入的参数哪一个更大,并调用这个存储过程。

2、在user_db数据库中的sc表中增加一列学分credit,然后创建一个存储过程,有两个输入参数:stu_id和cou_id,要求当某学生某门课程的成绩小于60分时将其学分修改为零,大于等于60分时将学分修改为此课程的学分,并调用这个存储过程。

3、创建一个存储函数来删除sc表中有,但student表中不存在的学号。如果调用存储函数时,参数中的学号在student表中不存在,那么将删除sc表中所有与该学号相关的行,之后返回1。如果学号在student中存在则直接返回零,并调用这个存储函数。

4、创建一个表table1,其中只有一列a。在表上创建一个触发器,每次插入操作时,将用户变量str的值设为“trigger is working”。

5、创建一个存储过程,使用游标计算student表中行的数目。

相关主题
文本预览
相关文档 最新文档