山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十六 SQL编程
一、实验目的:
(1) 理解常量与变量的概念; (2) 掌握常量与变量的使用方法; (3) 掌握表达式的使用方法;
(4) 理解Transact-SQL流程控制语句的使用; (5) 掌握常用函数的功能及使用方法;
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
(1) 定义一个整型局部变量iAge和可变长字符型局部变量vAddress,并分别赋值20和“中国山东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。
(2) 通过全局变量获得当前My SQL服务器的版本。
(3) 求1~100的偶数和。
(4) 对于字符串“Welcome to My SQL”,进行以下操作。(查阅联机丛书) ① 将字符串转换为全部大写。
② 将字符串转换为全部小写。
26
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: ③ 去掉字符串前后的空格。
④ 截取从第12个字符开始的10个字符。
(5) 使用日期型函数,获得输出结果见表5-8。 表5-8 输出结果
年份 2009
(6) 根据sc表中的成绩进行处理:成绩大于等于60分的显示“及格”,小于60分的显示“不及格”,为NULL的显示“无成绩”。
(7) 利用SQL条件语句,在student表中查找“李艳”同学的信息,若找到,则显示该生的学号、姓名、班级名称及班主任,否则显示“查无此人”。
3.思考题
(1) 全局变量与局部变量的区别是什么?
(2) 使用变量的前提是什么?
月份 11 日期 16 星期几 星期一 四、实验总结:
1、收获
2、存在的问题
27
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十七 存储过程
一、实验目的:
(1) 理解存储过程和函数的概念。 (2) 掌握创建各种存储过程和函数的方法。 (3) 掌握执行存储过程和函数的方法。
(4) 掌握查看、修改、删除存储过程和函数的方法。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
1) 使用Transact-SQL语句创建存储过程 (1) 创建不带参数的存储过程。
① 创建一个从student表查询班级号为“20070301”班的学生资料的存储过程proc_1,其中包括学号、姓名、性别、出生年月等。调用proc_1存储过程,观察执行结果。
② 在gradem1数据库中创建存储过程proc_2,要求实现如下功能:存在不及格情况的学生选课情况列表,其中包括学号、姓名、性别、课程号、课程名、成绩、系别等。调用proc_2存储过程,观察执行结果。
(2) 创建带输入参数的存储过程。
创建一个从student表查询学生资料的存储过程 proc_3,其中包括学号、姓名、性别、出生年月、班级等。要查询的班级号通过执行语句中的输入参数传递给存在过程。
其中,“20070303”为要传递给存储过程proc_3的输入参数,也即是要查询的资料的班级号。
(3) 创建带输出参数的存储过程。
创建一个从sc表查询某一门课程考试成绩总分的存储过程proc_4。
在以上存储过程中,要查询的课程号通过执行语句中的输入参数@cno传递给存储过程,@sum_degree作为输出参数用来存放查询得到的总分。执行此存储过程,观察执行结果。
28
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩:
2) 使用Transcant-SQL语句查看、修改和删除存储过程 (1) 查看存储过程。
用户的存储过程被创建以后,可以用系统存储过程来查看其有关信息。
① 查看存储过程的定义。使用系统存储过程sp_helptext查看存储过程proc_1、proc_3的定义。 ② 使用系统存储过程sp_help查看存储过程proc_1的信息。 (2) 修改存储过程。
使用ALTER PROCEDURE语句将存储过程proc_1修改为查询班级号为“20070302”班的学生资料。
(3) 删除存储过程。 将存储过程 proc_1删除。
四、实验总结:
1、收获
2、存在的问题
29
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十八、十九 触发器
一、实验目的:
(1) 理解触发器的概念与类型。 (2) 理解触发器的功能及工作原理。 (3) 掌握创建、更改、删除触发器的方法。 (4) 掌握利用触发器维护数据完整性的方法。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
1) 使用Transcat-SQL语句创建触发器
(1) 创建插入触发器并进行触发器的触发执行。
为表sc创建一个插入触发器 student_sc_insert,当向表sc插入数据时,必须保证插入的学号有效地存在于student表中,如果插入的学号在student表中不存在,给出错误提示。
向表sc中插入一行数据:sno, cno,degree分别是(‘20070302’,‘c01’,78),该行数据插入后,观察插入触发器student_sc_insert是否触发工作,再插入一行数据,观察插入触发器是否触发工作。 (2) 创建删除触发器。
为表student 创建一个删除触发器student_delete,当删除表student中的一个学生的基本信息时,将表sc中该生相应的学习成绩删除。
将学生“张小燕”的资料从表student中删除,观察删除触发器student_delete是否触发工作,即sc表中该生相应的学习成绩是否被删除。 (3) 创建更新触发器。
为student表创建一个更新触发器student_sno,当更改student表中某学号学生的学号时,同时将sc表中该学生的学号更新。
30