ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:107.50KB ,
资源ID:7050034      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7050034.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《SQL Server 2005实用教程》实验答案.doc)为本站会员(jinchen)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

《SQL Server 2005实用教程》实验答案.doc

1、1实验二2.实验内容(1)CREATE DATABASE StuInfo ON PRIMARY (NAME = StuInfo _Data,,FILENAME = D: StuInfo.Mdf,SIZE =3MB,MAXSIZE = 10MB,FILEGROWTH =1 MB)LOG ON(NAME = StuInfo _Log ,FILENAME = D: StuInfo _Log.Ldf,SIZE = 1MB,MAXSIZE =5MB,FILEGROWTH = 1MB)GO(2)-创建学生表 T_StudentUSE StuinfoGOCREATE TABLE t_student(S_nu

2、mber char(8) NOT NULL PRIMARY KEY,S_name char(10) NOT NULL,Sex char(2) NULL CHECK(Sex=男 or Sex=女),Birthday datetime ,Nation nvarchar(10) ,Politics varchar(10) ,Department nvarchar(12) ,Address varchar(60) ,PostalCode nvarchar(10) ,Phone varchar(24) ,)-创建课程表 T_CourseUSE StuinfoGO2CREATE TABLE t_cours

3、e(C_number char(4) NOT NULL PRIMARY KEY,C_name char(10) NOT NULL,Teacher char(10) ,Hours int NOT NULL,Credit int ,Type nvarchar(12) ,) -创建课程表 T_ScoreUSE StuinfoGOCREATE TABLE t_score(S_number char(8) NOT NULL REFERENCES t_student (S_number),C_number char(4) NOT NULL REFERENCES t_course (C_number),Sc

4、ore numeric(5, 1) CHECK(Score=0 and Score20 and sex=女(5)USE stuinfogoSELECT t_student.s_number,s_name,sum(score) FROM t_student,t_scoreWHERE t_score.s_number=t_student.s_numberGROUP BY t_student.s_number,s_nameHAVING sex=男 4思考与练习(1) use stuinfogoSelect s_name,birthday, year(getdate()-year(birthday)

5、年龄 from t_student Where sex=男use stuinfogoSelect s_name,datename(year,birthday)+年+datename(month,birthday)+月 as 出生年月, year(getdate()-year(birthday) 年龄 from t_student Where sex=男(2) use stuinfogoselect *,count(sex) 人数 from t_studentgroup by s_number,birthday,sex,s_name having sex=女5compute sum(count(

6、sex)(3) use stuinfogoselect t_course.c_name 课程名称,t_score.score 成绩 from t_course,t_scorewhere t_course.c_number=t_score.c_number and c_name=SQL Servercompute avg(score)compute sum(score)goselect count(*) sql server及格学生人数 from t_score where score=60 and c_number=1select count(*) sql server不及格学生人数 from

7、 t_score where score=60 AND score=70 AND score=80 AND score=90 THEN 优秀ELSE 无成绩ENDFROM t_course JOIN t_score ON t_course.c_number=t_score.c_numberwhere c_name=电子商务(6)-声明游标DECLARE stu_cursor CURSORGLOBAL SCROLL DYNAMICFOR SELECT t_student.s_number,s_name,c_name,scoreFROM t_student JOIN t_score ON t_st

8、udent.s_number=t_score.s_numberjoin t_course on t_course.c_number=t_score.c_number-打开游标OPEN stu_cursor-第一次读取,得到结果集的首行记录FETCH NEXT FROM stu_cursor-循环读取结果集中剩余的数据行9WHILE FETCH_STATUS=0BEGINFETCH NEXT FROM stu_cursorEND-关闭游标 stu_cursorCLOSE stu_cursor-释放(删除)游标 stu_cursorDEALLOCATE stu_cursor(7)(8)WAITFO

9、R DELAY 00:00:05select * from t_coursewhere type=专业核心课实验七2.实验内容(1) USE STUINFOGO-创建存储过程 Proc_scoreCREATE PROC Proc_scoreWITH RECOMPILE,ENCRYPTIONASSELECT S_number,scoreFROM t_score WHERE C_number=2-执行存储过程 Proc_scoreEXEC Proc_scoreUSE STUINFOGO-创建存储过程 Proc_listCREATE PROC Proc_listcno char(4) ASSELEC

10、T TOP 5 WITH TIES S_number,score10FROM t_score WHERE C_number=cnoORDER BY score DESC,S_number ASC-执行存储过程 Proc_list,查询“1”号课程成绩排名前 5 位的学生成绩记录。EXEC Proc_list 1其中, “1”为要传递给存储过程 Proc_list 的输入参数。创建和执行带输入和输出参数的存储过程 ProcAvgScoreCREATE PROC ProcAvgScorecno char(4),maxscore real OUTPUT,minscore real OUTPUT,av

11、gscore numeric(5,2) OUTPUT ASSELECT maxscore=MAX(score),minscore=MIN(score),avgscore=AVG(score)FROM t_score WHERE C_number=cnoGROUP BY C_number/*执行存储过程 ProcAvgScore,查询选修“1”号课程学生成绩的最高分,最低分和平均分*/DECLARE maxscore real,minscore real,avgscore numeric(5,2) EXEC ProcAvgScore 1,maxscore OUTPUT,minscore OUTP

12、UT,avgscore OUTPUT PRINT 该门课程成绩最高分为:+CAST(maxscore AS char(6)PRINT 该门课程成绩最高分为:+CAST(minscore AS char(6)PRINT 该门课程成绩最高分为:+CAST(avgscore AS char(6)(2)使用 T-SQL 语句查看、修改和删除存储过程查看存储过程a.查看加密存储过程的定义EXEC sp_helptext Proc_score注意观察执行结果。能够查看到该存储过程的定义文本吗?b.查看未加密存储过程的定义EXEC sp_helptext Proc_listEXEC sp_helptext

13、ProcAvgScorec.查看有关存储过程的信息。EXEC sp_help Proc_score11EXEC sp_help Proc_listEXEC sp_help ProcAvgScore(2)修改存储过程 Proc_scoreUSE STUINFO GOALTER PROC Proc_scoreWITH RECOMPILEASSELECT S_number,scoreFROM t_score WHERE C_number=1(3)删除上述创建的存储过程DROP PROC Proc_score,Proc_list,ProcAvgScore思考与练习:1、USE STUINFOGOCRE

14、ATE PROC insert_tri Cnum Char (4),Cname char (16),Teacher char (10) =NULL,Hours int,Credit int =NULL,Type Nvarchar(12)ASIF Cnum IS NULL OR Cname IS NULL OR Hours IS NULLBEGINPRINT 你必须提供课程号,课程名,课程学时!PRINT (授课教师,学分,课程类型可以为空。)RETURNENDBEGIN TRANSACTIONINSERT t_course (C_number,C_name, Teacher, Hours, C

15、redit,Type)VALUES (Cnum,Cname,Teacher,Hours,Credit,Type)IF error =60BEGINUPDATE t_scoreSET credit=creditFROM t_score,insertedWHERE t_score.S_number=inserted.S_numberENDEND实验九2实验内容(1)USE StuinfoGOCREATE FUNCTION Fn_Grad(ClassNo Char(6)RETURNS Fn_Grad TABLE(课程编号 Char(4) PRIMARY KEY NOT NULL,平均成绩 Decim

16、al(6,2) NOT NULL)ASBEGININSERT Fn_GradSELECT C_Number AS 课程编号,AVG(score) AS 平均成绩FROM T_ScoreWHERE (LEFT(S_Number,6)=ClassNo)GROUP BY C_NumberRETURNEND-测试SELECT * FROM dbo.Fn_Grad(0401)17-返回结果是 0401 班的成绩统计结果。(2)Declare err IntUSE SalesBEGIN TRANSACTIONUPDATE T1 SET T1.数量= T1.数量+ GG.数量FROM T1,GG WHERE T1.编号= GG.编号SELECT err=errorIF err!=0-更新失败,回滚所有操作BEGINROLLBACK TRANSACTIONRETURNENDINSERT T1 SELECT * FROM GG WHERE NOT (编号 IN (SELECT 编号 FROM T1)SELECT err=errorIF err!=0-更新失败,回滚所有操作BEGINROLLBACK TRANSACTIONRETURNENDCOMMIT TRANSACTION实验十

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报