网站大量收购闲置独家精品文档,联系QQ:2885784924

青岛理工大学数据库实验(实验4).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程实验报告 课程名称 数据库系统概论 班级 实验日期 姓名 学号 实验成绩 实验名称 实验4:编写存储过程访问数据库 实 验 目 的 及 要 求 1.熟悉使用存储过程来进行数据库应用程序的设计。 实 验 环 境 操作系统:Windows DBMS:SQL Server 2005 实 验 内 容 创建关系模式SC SC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, grade int,newgrade varchar(1)) 一开始SC表中的前3列是有数据的,newgrade列全部是空的 1.编写存储过程将学生选课成绩(百分制)转换成等级制(即A、B、C、D、F),要求使用游标完成, 其中,A:90~100 B:80~89 C:70~70 D:60~69 F:0~59 2.执行该存储过程,使得newgrade列中为各等级。 调 试 过 程 及 实 验 结 果 1、 2、 3、 4、 5、 总 结 1、在建立表的时候不了解应该先建立其他的表,再建立SC表;因为SC有最后一列是空的,假如不建立其他的表儿先建立这个表,就会出现SC表不能建立的现象。 2、开始时不了解游标的代码。不能正确地使用游标的代码。 3、创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft SQL Server启动时自动运行的存储。 附 录 create table Student ( sno varchar(10), sname varchar(8), ssex varchar(2), sage int constraint c1 check(sage=10 and sage=50), sdept varchar(20), primary key (sno), ) create table Course ( cno varchar(5) primary key, cname varchar(20) unique, cpno varchar(5), credit int ); create table SC ( sno varchar(10), cno varchar(5), grade int, newgrade varchar(1), primary key(sno,cno), foreign key(sno) references Student(sno), foreign key(cno) references Course(cno) ); CREATE PROCEDURE class AS BEGIN DECLARE @chgrade CHAR(1),@cursno int,@curcno int,@curgrade int DECLARE curSC CURSOR FOR SELECT SNO,CNO,GRADE FROM SC OPEN curSC FETCH curSC INTO @cursno,@curcno,@curgrade WHILE(@@FETCH_STATUS=0) BEGIN IF @curgrade=90 SET @chgrade=A ELSE IF @curgrade=80 SET @chgrade=B ELSE IF @curgrade=70 SET @chgrade=C ELSE IF @curgrade=60 SET @chgrade=D ELSE SET @chgrade=E UPDATE SC SET newgrade=@chgrade WHERE SNO=@cursno AND CNO=@curcno FETCH curSC INTO @cursno,@curcno,@curgrade END CLOSE curSC DEALLOCATE curSC END EXECUTE class SELECT * FROM SC

文档评论(0)

_______ + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档