欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    上机实验指导_实验内容和思考参考答案_SQL_Server_2024实践教程学习.docx

    • 资源ID:1378575       资源大小:55.27KB        全文页数:45页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    上机实验指导_实验内容和思考参考答案_SQL_Server_2024实践教程学习.docx

    数据库技术与应用实践教程一SQ1.Server2024上机试验指导(试验思索)一参考答案试验1.安装及管理工具运用略。试验2:SQ1.SerVer数据库的管理二、试验内容及步骤4 .单击“新建查询”打开查询设计器窗口,在查询设计器窗口中运用Transact-SQ1.语句CREATEDATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。CREATEDATABASEstudbON(NAME=studb_dat,FI1.ENAME='C:DataBasestudb.mdf*)EXECsp_helpdb5 .在查询设计器中运用Transact-SQ1.语句A1.TERDATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。A1.TERDATABASEstudb5MB,MODIFYFI1.E(NAME=studb_data,SIZEMAXSIZE=20MB,FI1.EGROWTH=1MB)6 .在查询设计器中为StiIdb数据库增加一个日志文件,命名为StUdb_1.og2,大小为5MB,最大文件大小为IoMB。A1.TERDATABASEstudbADD1.OGFI1.E(NAME=studbJog2,FI1.ENAME=StudbJoglJdf,SIZE=5MB,MAXSIZE=10MB)8 .运用Transact-SQ1.语句DROPDATABASE删除student_db数据库。DROPDATABASEstudent.db试验3SQ1.Server数据表的管理二、试验内容及步骤9 .运用Transact-SQ1.语句CREATETAB1.E在Studentsdb数据库中创建grade表。CREATETAB1.Egrade(学号cha(4)NU1.1.,课程编号cha(4)NU1.1.,分数char(5)NU1.1.)ONPRIMARY10 运用Transact-SQ1.语句INSERTINTO.VA1.UES向Studentsdb数据库的grade表插入数据:学号为0004,课程编号为OOO1.分数为80。INSERTgradeVA1.UES(,0004,0001,80,)11 运用Transact-SQ1.语句A1.TERTAB1.E修改curriculum表的“课程编号”歹!b使之为非空。A1.TERTAB1.EcurriculumA1.TERCO1.UMN课程编号NOTNU1.1.12 .运用Transact-SQ1.语句A1.TERTAB1.E修改grade表的“分数”列,使其数据类型为real。A1.TERTAB1.EgradeA1.TERCO1.UMN分数realXl.运用Transact-SQ1.语句A1.TERTAB1.E修改StUdeIIJilIfo表的“姓名”列,使其列名为“学生姓名”,数据类型为VaChar(10),非空。altertablestudent_infoadd学生姓名varchar(10)NOTNU1.1.;updatestudent_infoset学生姓名二姓名;altertablestudent_infodropcolumn姓名;12 .分别运用SQ1.Server管理平台和Transact-SQ1.语句DE1.ETE删除Studentsdb数据库的grade表中学号为0004的成果记录。DE1.ETEgradeWHERE学号='0004'13 .运用Transact-SQ1.语句UPDATE修改Studentsdb数据库的grade表中学号为OOO3、课程编号为OOo5、分数为90的成果记录。UPDATEgradeSET分数=90WHERE学号=,0003,and课程编号ToOO5,14 .运用Transact-SQ1.语句A1.TER.ADD为Studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)oA1.TERTAB1.EgradeADD备注VARCHAR(20)NU1.1.15 .分别运用SQ1.Server管理平台和Transact-SQ1.语句DROPTAB1.E删除Studentsdb数据库中grade表。DROPTAB1.Estudentsdb.dbo.grade三、试验思索X.运用Transact-SQ1.语句删除在Studentsdb数据库的grade表添加的“备注”数据列。A1.TERTAB1.EgradeDROPCO1.UMN备注试验4数据查询二、试验内容及步骤2 .在Studentsdb数据库中运用SE1.ECT语句进行基本查询。(1)在StudentJnfo表中,查询每个学生的学号、姓名、诞生日期信息。SE1.ECT学号,姓名,诞生日期FROMStudentJnfo(2)查询学号为OOO2的学生的姓名和家庭住址。SE1.ECT姓名,家庭住址FROMStudentJnfoWHERE学号=,0002,(3)找出全部男同学的学号和姓名。SE1.ECT学号,姓名FROMStudentJnfoWHERE性别='男'3 .运用SE1.ECT语句进行条件查询(1)在grade表中查找分数在8090范围内的学生的学号和分数。SE1.ECT学号,分数FROMgradeWHERE(分数BETWEEN80AND90)(2)在grade表中查询课程编号为OOo3的学生的平均分。SE1.ECTavg(分数)AS平均分FROMgradeWHERE(课程编号=,0003,)(3)在grade表中查询学习各门课程的人数。SE1.ECT课程编号,COUNT(*)AS人数FROMgradeGROUPBY课程编号(4)将学生按诞生日期由大到小排序。SE1.ECT*FROMStudentJnfoORDERBY诞生日期DESC(5)查询全部姓“张”的学生的学号和姓名。SE1.ECT*FROMStudentJnfoWHERE姓名1.lKE'张'4 .对StIIdent_iIIfo表,按性别依次列出学生的学号、姓名、性别、诞生日期及家庭住址,性别相同的按学号由小到大排序。SE1.ECT学号,姓名,性别,诞生日期,家庭住址FROMStudentJnfoORDERBY性别,学号5 .运用GRoUPBY查询子句列出各个学生的平均成果。SE1.ECT学号,SUM(分数)/CoUNT(*)AS平均成果FROMgradeGROUPBY学号6 .运用UNION运算符将StudentJnfo表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为ii_编号、ii_名称,如图1-8所示。U_编号1.名称1OOOi大学计算机基础20002C语言程序设计30002张卫民40003SQ1.SerVer数据库及应用50004英语60005高等数学70008张明华图1-8联合查询结果集SE1.ECT学号ASu_编号,姓名ASu_名称FROMStudentJnfoWHERE(姓名1.lKE,张,)UNIONSE1.ECT课程编号ASu_编号,课程名称ASu_名称FROMcurriculum7 .嵌套查询(1)在student_info表中查找与“刘卫平”性别相同的全部学生的姓名、诞生日期。SE1.ECT姓名,诞生日期FROMStudentJnfoWHERE性别=(SE1.ECT性另JFROMStudentJnfoWHERE姓名T刘卫平,)(2)运用IN子查询查找所修课程编号为OOO2、OOO5的学生学号、姓名、性别。SE1.ECT学号,姓名,性别FROMStudentJnfoWHEREStildentJlIfO学号IN(SE1.ECT学号FROMgradeWHERE课程编号IN(,0002,0005,)(3)列出学号为OOOl的学生的分数比0002号的学生的最低分数高的课程编号和分数。SE1.ECT课程编号,分数FROMgradeWHERE学号=OoorAND分数>ANY(SE1.ECT分数FROMgradeWHERE学号=OOO2,)(4)列出学号为OOOl的学生的分数比学号为0002的学生的最高成果还要高的课程编号和分数。SE1.ECT课程编号,分数FROMgradeWHERE学号=OoorAND分数(SE1.ECTMAX(分数)FROMgradeWHERE学号=Ooo2,)8 .连接查询(1)查询分数在80-90范围内的学生的学号、姓名、分数。SE1.ECTStIIdeIItJnfo学号,姓名,分数FROMStudentJnfo,gradeWHEREstudent_info.学号=grade.学号AND分数BETWEEN80AND90(2)查询学习“C语言程序设计”课程的学生的学号、姓名、分数。SE1.ECTStildeIItJnfo.学号,姓名,分数FROMstudent_infoINNERJOINgradeONStUdent_info.学号=grade.学号INNERJOINcurriculumON课程名称二(语言程序设计,(3)查询全部男同学的选课状况,要求列出学号、姓名、课程名称、分数。SE1.ECTa.学号,a.姓名,c.课程名称,b分数FROMStudentJnfoaINNERJOINgradebONa.学号=b.学号INNERJOINcurriculumcONb.课程编号=C.课程编号WHERE(a.性别=,男,)(4)查询每个学生的所选课程的最高成果,要求列出学号、姓名、课程编号、分数。SE1.ECTa.学号,c.姓名,a.课程编号,a.分数FROMgradeaINNERJOINStudentJnfocONa.学号=C.学号WHERE(a.分数=(SE1.ECTMAX(b.分数)FROMgradebWHEREb.学号=&学号)(5)查询全部学生的总成果,要求列出学号、姓名、总成果,没有选修课程的学生的总成果为空。提示:运用左外连接。SE1.ECTa.学号,a.姓名,b.总成果FROMStudentJnfoa1.EFTOUTERJOIN(SE1.ECT学号,SUM(分数)AS总成果FROMgradeGROUPBY学号)bONa.学号=b.学号(6)为grade表添加数据行:学号OOO4、课程编号为OOO6、分数为76o查询全部课程的选修状况,要求列出课程编号、课程名称、选修人数,CiiiTiciihim表中没有的课程列值为空。提示:运用右外连接。INSERTINTOgrade(学号,课程编号,分数)VA1.UES(0004,000676)SE1.ECTa.课程编号,a.课程名称,b.选修人数FROMcurriculumaRIGHTOUTERJOIN(SE1.ECT课程编号,COUNT(*)AS选修人数FROMgradeGROUPBY课程编号)bONa.课程编号=b.课程编号三、试验思索1 .查询全部没有选修课程的学生信息,返回结果包括学号、姓名、性别。SE1.ECT学号,姓名,性别FROMstudent_infoWHERE(学号NOTIN(SE1.ECT学号FROMgrade)2 .在StudentJnfo表和grade表之间实现交叉连接。SE1.ECTa.学号,a.姓名,a.性别,b.课程编号,b.分数FROMStudentJnfoaCROSSJOINgradeb3 .查询每个学生的所选课程的成果,并列出学号生成分组汇总行(总成果)和明细行(各课成果)。提示:运用SE1.ECT语句的COMPUTE选项。SE1.ECT学号,分数FROMgradeORDERBY学号COMPUTESUM(分数)BY学号4 .在查询语句中SE1.ECT>FROM和WHERE选项分别实现什么运算?投影、选择、自然连接5 .在查询的FROM子句中实现表与表之间的连接有哪几种方式?对应的关键字分别是什么?有三种:内连接(INNERJOIN)>外连接(1.EFTOUTERJOIN>RIGHTOUTERJOIN>FU1.1.OUTERJOIN)和交叉连接(CRoSSJoIN)。试验5:索引与视图二、试验内容及操作步骤1.分别运用SQ1.Server管理平台和Transact-SQ1.语句为Studentsdb数据库的student_info表和ClIITiClllilm表创建主键索引。CREATEUNIQUEC1.USTEREDINDEXPK_curriculumONcurriculm(课程编号DONPRIMARY9 .在StlIdentSdb数据库中,以StIldent_info表为基础,运用SQ1.Server管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。10 .在Studentsdb数据库中,运用Transact-SQ1.语句CREATEVIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生状况。CREATEVIEWv_stu_cASSE1.ECTa.学号,a.姓名,b.课程编号FROMStudentJnfoaINNERJOINgradebONa.学号=b.学号SE1.ECT*FROMv_stu_cWHERE(学号=,0003,)11 .基于StUdent_info表、CIIiTiCUIUm表和grade表,建立一个名为V_stu_g的视图,视图中具有全部学生的学号、姓名、课程名称、分数。运用视图V_stu_g查询学号为0001的学生的全部课程与成果,如图1-9所示。OOOlOOOlOOOlOOOlOOOl卫卫卫卫卫11-HuH-HuHu平平平平平学号I姓名I课程名称I分数大学计苴机基础80C语言程序设计90SQ1.SerVer数据回87英语86图19学号为OOOl的学生的视图信息高等数学T8CREATEVIEWv_stu_gASSE1.ECTa.学号,a.姓名,C,课程名称,b.分数FROMStudentJnfoaINNERJOINgradebONa.学号=b学号INNERJOINcurriculumCONb,课程编号=C.课程编号SE1.ECT*FROMv_stu_gWHERE学号TOOop12 .分别运用SQ1.Server管理平台和Transact-SQ1.语句修改视图V_stu_c,使之显示学号、姓名、每个学生所学课程数目。A1.TERVIEWv_stu_cASSE1.ECTa.学号,a.姓名,COUNT(*)AS课程数目FROMStudentJnfoaINNERJOINgradebONa.学号=b.学号GROUPBYa学号,a.姓名13 .运用Transact-SQ1.语句A1.TERVIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。A1.TERVIEWv_stu_i(学号,姓名,性别)ASSE1.ECT学号,姓名,性别FROMStudentJnfo14 .运用系统存储过程sp_rename将视图v_stu_i更名为v_stu_infoosp_renamev_stu_i,v_stu_info21 .利用视图v_stu_i为StudentJnfo表添加一行数据:学号为0015、姓名为陈婷、性别为女。INSERTINTOv_stu_iVA1.UESCOO15'J陈婷',女)22 .利用视图v_stu_i删除学号为0015的学生记录。DE1.ETEFROMv_stu_iWHERE(学号=,00151)23 .利用视图v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84oUPDATEv_stu_gSET分数=84WHERE姓名二,刘卫平,AND课程名称二,高等数学,24 .运用Transact-SQ1.语句DROPVIEW删除视图v_stu_c和v_stu_g。DROPVIEWv_stu_cDROPVIEWv_stu_g试验6:数据完整性二、试验内容和操作步骤1 .为StlIdelItSdb数据库创建一个规则,限制所输入的数据为7位09的数字。(X)复制StudentJnfo表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码二完成以下代码实现该操作。SE1.ECT*INTOstu_phoneFROMstudent_infoA1.TERTAB1.Estu_phoneADD电话号码CHAR(7)NU1.1.stu_phone表结构如图ITo所示。学号姓名性别出生日期家庭住址备注电话号码1CloOI刘卫平Q1980-10-0100:00:00.0平衡山市东风路78号NU1.1.NU1.1.2UOO2张卫民男1980-12-0200:00:00.000东阳市八一北路25号NU1.1.NU1.1.图1-10stu_phone表结构(2)创建一个规则PholI限制所输入的数据为7位09的数字。实现该规则的代码为CREATERU1.Ephone_ruleASphone1.IKE,0-90-90-90-90-90-90-9,(3)运用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。实现该操作的代码为sp_bindruleDh(meriilestuPhOee.电话号码,(4)输入以下代码,进行一次插入操作:INSERTINTOstu_phone(学号,姓名,电话号码)VA1.UES(,0009,,王国强','1234yyy?产生以下出错信息:消息513,级别16,状态。,第1行列的插入或更新与从前的CREATERU1.E语句所指定的规则发生冲突。该语句已终止。冲突发生于数据库'Studentsdb',表,dbo.stu_phone,列电话号码。语句已终止。试分析:为什么会产生该出错信息?假如要实现插入操作,应修改INSERTINTO语句中的哪个值?phone.rule规则能否对其他操作(如DE1.ETE)进行规则检查?2 .创建一个规则stusex_rule,将其绑定到Sti1.Phone表的“性别”列上,保证输入的性别值只能是“男”或“女二CREATERU1.Estusex_ruleASsexin('男',女')sp_bindrulestusex_rule,'stu_phone性另3 .运用系统存储过程sp_help查询stusex_rule规则列表,运用sp_helptext查询stusex_rule规则的文本,运用sp_rename将stusex_rule规则更名为stu_s_ruleosp_helpstusex_rulesp_helptextStlISex_rIllesp_renamestusex_rule,stu_s_rule4 .删除stu_s_rule规则。DROPRU1.Estu_s_rule5 .在StUdelItdb数据库中,建立日期、货币和字符等数据类型的默认对象。(1)在查询设计器中,完成以下代码,创建默认对象df_datedf_char>df_money<>一创建日期型默认对象df_dateCREATEDEFAU1.Tdf_dateAS,2006-4-12,GO一创建字符型默认对象df.charCREATEDEFAU1.Tdf_charAS,unknown,GO一创建货币型默认对象df_moneyCREATEDEFAU1.TdfmoneyAS$100GO(2)输入以下代码,在Studentsdb数据库中创建stu_fee数据表。CREATETAB1.Estu_fee(学号Char(IO)NOTNU1.1.,姓名Chai(8)NoTNU1.1.,学费money,交费日期datetime,电话号码char(7)表stu.fee的数据结构如图1-11所示。¥¥交货日期电话号码图ITlstu_fee的数据结构(3)运用系统存储过程sp_bindefault将默认对象df_date>df_chardf_money分别绑定在stu_fee表的"学费“交费日期”、“电话号码”列上。SDJbinderfaultdf_moneyjstu_fee.学费,GOsp_bindefaultdfdateJStll_fee.交费日期,GOsp_bindefaultdf_char/stu_fee.电话号码,GO(5)完成以下代码解除默认对象df_char的绑定,并删除之。spunbiiidefaiilt'stu_fee,电话号码,DRoPDEFAU1.Tdf.char7.在StUdelItSdb数据库中用CREATETAB1.E语句仓IJ建表stu_con,并同时创建约束。(1)创建表的同时创建约束。表结构如图1-12所示。列名数据类型长度号名别生庭学姓性出凉char4char8char2datetie87archar50图1-12要创建的表的结构CREATETAB1.Estu_con(学号Char(4)NOTNU1.1.,姓名char(8)NU1.1.,性别char(2)NU1.1.,诞生日期datetimeNU1.1.,家庭住址nvarchar(50)NU1.1.)约束要求如下:将学号设置为主键(PRIMARYKEY),主键名为pk_sid。CREATEUNIQUEC1.USTEREDINDEXpk_sidONstu_con(学号DWITHDROP_EXISTINGONPRIMARY为姓名添加唯一约束(UNIQUE),约束名为uk_iIame。CREATEUNIQUEINDEXuk_nameONstu_con(姓名DWITHDROP_EXISTINGONPRIMARY为性别添加默认约束(DEFAU1.T),默认名称为df_sex,其值为“男CREATEDEFAU1.Tdf_sexAS'男'sp_bindefaultdf_sex,stu_con.性别'为诞生日期添加属性值约束(CHECK),约束名为ck.bday,其检查条件为:诞生日期3988-1-。A1.TERTAB1.Estu_conWITHNOCHECKADDCONSTRAINTck_bdayCHECK(诞生日期3988-1-1')(3)运用A1.TERTAB1.E语句的DROPCONSTRAINT参数项在查询设计器中删除为stu_con表所建的约束。A1.TERTAB1.Estu_conDROPCONSTRAINTck_bday9.在查询设计器中,为Studentsdb数据库的grade表添加外键约束(FOREIGNKEY),要求将“学号”设置为外键,参照表为student_info,外键名称为fk_sidoA1.TERTAB1.EgradeADDCONSTRAINTFk_sidFOREIGNKEY(学号)REFERENCESStUdent_info(学号)(1)运用系统存储过程sp_help查看grade表的外键信息。sp_helpfk_sik(3)运用查询设计器删除grade表的外键fk_sid。Altertablegradedropconstraintfk_sid试验7:Transact-SQ1.程序设计二、试验内容和操作步骤3.运用SET吩咐将查询结果集记录数目赋值给int型局部变量row。给下面代码中的划线处填上适当的内容,以完成上述操作。DEC1.ARErowsintSETroWS=(SE1.ECTCOUNT(*)FROMgrade)SE1.ECTrows一显示roWS的值5 .在Studentsdb数据库的StudenJinfo表中,以"性别”为分组条件,分别统计男生和女生人数。DEC1.AREmalein,(3)femaleintSET(g)male=(SE1.ECTC0UNT(*)FromStudentJnfoWHERE性别=,男,)SET(g)female=(SE1.ECTCOUNT(*)Fromstudent_infoWHERE性别=,女,)SE1.ECTmale,female6 .在grade表中,运用适当函数找出“高等数学”课程的最高分、最低分和平均分。declare(3)grademaxdecimal,grademindecimal,(3)gradeavgdecimalsetgrademax=(selectmax(分数)fromgradeINNERJOINCURRICU1.UMONGRADE.课程编号=CURRlCU1.UM.课程编号WhereCUn'iculum.课程名称='高等数学')set(3)grademin=(selectmin(分数)fromgradeINNERJOINCURRICU1.UMONGRADE.课程编号=CURRlCU1.UM.课程编号WhereCUn'iculum.课程名称='高等数学')set(3)gradeavg=(selectavg(分数)fromgradeINNERJOINCURRICU1.UMONGRADE.课程编号=CURRlCU1.UM.课程编号WhereCUn'iculum.课程名称='高等数学')selectgrademaxas,高等数学的最高分、grademinas,高等数学的最低分:gradeavgas'高等数学的平均分7 .定义一个datetime型局部变量StUdate,以存储当前日期。计算StUdenjinfo表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填入适当内容,以实现上述功能。DEC1.AREStUdatedatetimeSETStudate=getdate()一给StUdate赋值为当前日期SE1.ECT姓名,DateCff(studate)-year(诞生日期)AS年龄FROMstudent_info9 .在局部变量St1.id中存储了学号值。编写代码查询学号为OoOl的学生的各科平均成果,假如平均分>=60则显示“你的成果及格了,恭贺你!”,否则显示“你的成果不及格二IF(SE1.ECTAVG(分数)FROMgradewhere学号=,0001,)<60)PRlN你的成果不及格E1.SEPRIN你的成果及格了,恭贺你!!10 .运行以下代码段,写出运行的结果。DEC1.AREcounterintSET(三)Counter=IWHI1.E(3)counter10BEGINSE1.ECT,()counter的值现在为:,+CONVERT(CHAR(2),©counter)SETCoUnter=CoUnter+1ENDH.查询grade表。假如分数大于等于90,显示A;假如分数大于等于80小于90,显示B;假如分数大于等于70小于80,显示C;假如分数大于等于60小于70,显示D;其他显示Eo在以下代码的划线部分填入适当内容完成上述功能。SE1.ECT学号,分数,等级二CASEWHEN分数=90THEN,A,WHEN分数=80AND分数90THEN,B,WHEN分数=70AND分数80THEN,C,WHEN分数=60AND分数70THENDE1.SE,E,ENDFROMgrade12 .计算grade表的分数列的平均值。假如小于80,则分数增加其值的5%;假如分数的最高值超过95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHI1.E(SE1.ECTAVG(分数)FROMgrade)<80BEGINUPDATEgradeSET分数二分数*1.05if(SE1.ECTMAX(分数)FROMgrade)>95BREAKE1.SECoNrnNUEEND13 .编写代码计算并显示口=1+2+3+20。DEC1.AREnint,(©counterintSE1.ECTn=0,counter=1WHI1.Ecounter>0BEGINSET(3)n=n+counterSET(3)counter=(3)counter+1IF(©counter<=20CONTINUEE1.SEBEGINPRINT,()n=l+2+3+20的值为PRINTnBREAKENDEND14 .编写代码计算并显示l100之间的全部完全平方数。例如,81=92,则称81为完全平方数。declareiint,(3)jintseti=0setj=1while(3)j<=100)beginseti=j*jprinti/*打出素数*/setj=j+1end15 .计算l100以内的全部素数。declare(3)iintdeclarenintsetn=3print2whilen<=100beginselecti=2while(i<n/2)beginif(n/i*i!=n)beginselecti=i+lcontinueendelsebreakendif(i>=n/2)beginprintnendselectn=n+2end16 .在StUdentSdb数据库中,运用游标查询数据。(1)打开查询设计器,声明一个stu.cursor游标,要求返回StudentJnfo表中性别为“男”的学生记录,且该游标允许前后滚动和修改。DEC1.AREstu_cursorCURSORG1.OBA1.SCRO1.1.DYNAMICFORSE1.ECT*FROMStudentJnfoWHERE性别='男,FORUPDATEOF诞生日期(2)打开stu_cursor游标。OPENstu_cursor(3)获得并显示全部数据。FETCHNEXTFROMstu_cursor*取第一个数据行*/WHI1.Efetch_status=0/*检查fetch_status是否还有数据可取*/BEGINFETCHNEXTFROMstu_cursor(4)关闭该游标。C1.OSEstu_cursor17.运用游标修改数据。(1)打开stu_cursor游标。(2)将姓马的男同学的诞生日期的年份加1。(3)关闭stu_cursor游标。OPENstu_cursorFETCHNEXTFROMstu,cursorUPDATEstudent_infoSET诞生日期二Dateadd(yy,l,诞生日期)WHERECURRENTOFstu.cursorC1.OSEstu_cursor试验8:存储过程和触发器二、试验内容及步骤3 .运用Studentsdb数据库中的StudenJinfo表、curriculum表、grade表。(1)创建一个存储过程StUgrade,查询学号为OOOl的学生的姓名、课程名称、分数。(2)执行存储过程StU_grade,查询OOoI学生的姓名、课程名称、分数。(3)运用系统存储过程sp_rename将存储过程stu_grade更名为stu_g。CREATEPROCEDURESgradeASSE1.ECTa.学号,c.课程名称,b.分数FROMStudentJnfoaINNERJOINgradebONa.学号=b.学号INNERJOlNCUITiCUIUmCe)Nb.课程编号二c.课程编号WHERE(a.学号=,000)EXECstu_gradesp_renamestu_grade,stu_g4 .运用StUdent_info表、CUrrieUlUm表、grade表。(1)创建一个带参数的存储过程stu_g_p,当随意输入一个学生的姓名时,将从3个表中返回该学生的学号、选修的课程名称和课程成果。(2)执行存储过程stu_g_p,查询“刘卫平”的学号、选修课程和课程成果。(3)运用系统存储过程sp_helptext,查看存储过程St1.g_p的文本信息。CREATEPROCEDUREstu_g_pstu_namevarchar(8)ASSE1.ECTa.学号,c.课程名称,b.分数FROMStudentJnfoaINNERJOINgradebONa.学号=b.学号INNERJOlNCUlTiCUIUmCe)Nb.课程编号二c.课程编号WHERE(a.姓名=stu_name)EXECstu_g_p'刘卫平,sp_helptextstu_g_p5 .运用student_info表。(1)创建一个加密的存储过程stu_en,查询全部男学生的信息。(2)执行存储过程stu_en,查看返回学生的状况。(3)运用Transact-SQ1.语句DROPPRC)CEDURE删除存储过程stu_enoCREATEPROCEDUREstu_enWITHENCRYPTIONASSE1.ECT*FROMstudent_infoWHERE性别T男,EXECstu_enDROPPROCEDUREstu_en6 .运用grade表。(I)创建一个存储过程stu_g_r,当输入一个学生的学号时,通过返回输出参数获得该学生各门课程的平均成果。CREATEPROCstu_g_rstu_novarchar(8)=NU1.1.,stu_scorerealOUTPUTASSE1.ECTstu_score=AVG(分数)FROMgradeWHERE(学号=stu_no)(2)执行存储过程St1.g_r,输入学号

    注意事项

    本文(上机实验指导_实验内容和思考参考答案_SQL_Server_2024实践教程学习.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开