数据库上机实验(编写存储过程访问数据库).docVIP

数据库上机实验(编写存储过程访问数据库).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库上机实验(编写存储过程访问数据库)

课程实验报告 课程名称 实验名称 实验4:编写存储过程访问数据库 实 验 目 的 及 要 求 1.熟悉使用存储过程来进行数据库应用程序的设计。 实 验 环 境 操作系统:Windows DBMS:SQL Server 2005 实 验 内 容 创建关系模式SC SC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, score int,newscore 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列中为各等级。 调 试 过 程 及 实 验 结 果 创建Student、Course表 创建关系模式SC及表 使用游标完成等级转换 ) 总 结 本次试验涉及关系模式和游标的使用等问题,思路比较模糊,看了一阵书才开始做,先是使用了游标的SQL语句EXEC SQL,结果发现不可以,又尝试用了存储过程的语句可以了,实验过程中还遇到过一些细小的问题,经过一系列的调试终于成功了,这次实验发现自己对教材知识的理解还不够好,导致在做实验时比较困难,所以以后还需要经常复习相关的知识点,并做到熟练使用。 附 录 1.创建Student、Course表 CREATE TABLE Student (Sno varchar(10) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); CREATE TABLE Course (Cno varchar(5) PRIMARY KEY, Cname char(40), Cpno char(4), Ccredit SMALLINT, ); 2.创建关系模式SC及表SC CREATE SCHEMA SC AUTHORIZATION guest CREATE TABLE SC(Sno varchar(10) , Cno varchar(5) , PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno), score int, newscore varchar(1) ) 3.建立存储过程exchange CREATE PROCEDURE exchange AS BEGIN DECLARE @sno varchar(20), @cno varchar(20), @newscore varchar(1), @score int DECLARE ex CURSOR FOR SELECT Sno,Cno, NewScore, Score FROM SC OPEN ex FETCH ex INTO @sno,@cno, @newscore, @score WHILE(@@FETCH_STATUS=0) BEGIN IF @score100 SET @newscore=A ELSE IF @score90 SET @newscore=B ELSE IF @score80 SET @newscore=C ELSE IF @score70 SET @newscore=D ELSE IF @score60 SET @newscore=F UPDATE SC SET NewScore=@newscore WHERE Sno=@sno and Cno=@cno FETCH ex INTO @Sno,@Cno,@Score,@NewScore END CLOSE ex DEALLOCATE ex END 4. 执行存储过程exchange EXECUTE exchange

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档