数据库实验报告册 下载本文

《数据库原理》实验 班级: 学号: 姓名: 实验四——数据库编程 一、实验目的

1. 掌握ODBC的配置;

2. 能编写简单的存储过程和函数,并调用;

二、实验预习内容

上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1. 配置ODBC,使用VFP中的表单,查询SCHOOL数据库中STUDENTS表中所有记录。 2. 编写存储过程并调用,请写出相应命令;

1) 在查询分析器中,编写存储过程usp_get_stuinfo ,使用一个名为@xm能够传送进存储过

程的参数。允许以学生的姓名查询该生的基本信息; create procedure usp_get_stuinfo @xm char(30) as

select * from students where sname = @xm

2) 在查询分析器中调用存储过程查询“赵飞”同学的基本信息的语句;

Exec usp_get_stuinfo '赵飞';

exec usp_get_stuinfo @xm = '赵飞';

3. 编写函数并调用,请写出相应命令;

1) 在查询分析器中,定义内联表值函数Fun,用于返回各职称的教师基本信息; 第一步: alter table teachers add iden char(30) 第二步: update teachers set iden='教授'

where tid='200003125'

create function teacherinformation(@id char(30)) returns table as return(

select * from teachers where iden=@id )

2) 在查询分析器中,使用Fun进行选择以获得“教授”职称的教师基本信息;

select * from teacherinformation('教授')

3) 在查询分析器中,编写标量函数Func,用于返回两个整数中的最大值;

create function func(@a int ,@b int) returns int as begin

19

《数据库原理》实验 班级: 学号: 姓名: declare @c int if @a>@b set @c=@a else

set @c=@b return @c end

4) 在查询分析器中,调用此函数,输出两个数中的最大值;

print dbo.func(29,148)

5) 在SQL SERVER中定义函数FUNS,返回指定参数的平方,配置好ODBC后,在VFP中

调用FUNS并输出结果; 4. 结束本次实验

三、实验课后训练

1. 自行学习实验指导书P130【实验4.1 SQL SERVER事务的定义】; 2. 自行学习实验指导书P137【实验4.2 SQL SERVER 2005事务与锁】; 3. 自行练习实验指导书P165【实验4.6 游标及游标并发】;(P167 4.6.3 实验内容要完成) 四、实验报告

1. 什么是ODBC?

2. 内联表值函数、标量函数、存储过程有什么区别?

内联表值函数:

用户定义表值函数返回表数据类型,没有函数主体,表是单个select语句的结果集。 标量函数:

标量函数返回一个确定类型的标量值。其返回值类型为除text、ntext 、image、cursor、 timestamp 和table 类型外的其它数据类型。函数体语句定义在begin-end语句内,其中包含了可以返回值的Transact-SQL 命令。 存储过程:

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。功能强大,限制少,不能直接引用返回值,用select语句返回记录集

内联表值函数,标量函数均为用户自定义函数,诸多限制,有许多语句不能使用,许多功能不能实现,可以直接引用返回值,用表变量返回记录集。

3. 实验总结(实验过程中出现的问题、解决方法、结果如何或其它)

在写内联表值的函数时,使用Fun进行选择以获得“教授”职称的教师基本信息,由于教师表中没有职称,所以在教师表中添加职称这一属性。

20