


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络数据库技术 技术与应用 课程课程编号: 433011实验指导书主撰人: 王志和审核人: 陈 刚经济与管理科学系电子商务教研室二O二年五月实验1实验2实验3实验4实验5实验6实验7实验8实验9、八、-丄前 言1熟悉Java编程环境和Java程序结构实验2Java基本语法实验面向对象编程实验数组与字符串实验异常处理机制实验多线程实验输入流 /输出流类实验图形用户界面及applet实验网络编程实验.言、八刖实验总体目标:网络数据库技术与应用是电子商务专业的专业必修课程。课程内容主要包括:数据模型、关系代数、关系数据库标 准语言SQL、关系数据理论、数据库设计与编程、关系查询处 理和查询优化和数据
2、库的恢复与并发技术。学习本课程的上机 实验,使学生真正深层次了解数据库系统的体系结构, 掌握数 据库系统的基础理论、技术和方法,掌握主流数据库管理系统 SQL Serve的应用技术及数据库应用系统的设计、开发能力。适用专业年级:电子商务专业第四学期 实验课时分配:16学时序号实验项目要求类型每组人数实验学时1常用数据库管理工具的使用必验证122数据库的管理和表操作必设计123SQL数据操作与查询必验证144Tran sact-SQL数据库编程必设计145数据库的管理与维护必验证126数据库应用开发必设计149网络编程实验必设计14实验环境Windows 2003, Microsoft SQL
3、Server 200 5。实验总体要求通过本实验课程的教学,学生能基本上达到独立完成实验内容,通过老师的指导 可完成设计性实验内容,能将相关内容应用到课程设计、毕业设计等实践性环节中实验 1 常用数据库管理工具的使用一、实验目的1理解服务的概念,掌握 SQL Server 服务的启动、暂停和停止2熟悉 SQL Server 数据库结构,掌握企业管理器的基本操作。3理解查询分析器的作用,掌握查询分析器的常用用法4掌握联机丛书的用法。二、实验内容与步骤1、服务管理器的用法SQLServer 是作为 Windows 网络操作系统的一个服务运行的。通过设置,可以 在启动操作系统时自动启动 SQL Se
4、rver,也可以远程启动和停止 SQL Server。可以 使用下列工具手工启动、暂停和停止 SQL Server 服务:SQL Server 企业管理器SQL Server 服务管理器 控制面板中的“服务”在命令提示符中使用 net 命令net pause mssqlservernet continue mssqlservernet stop mssqlserver 其中,服务管理器是最常用的图形界面工具。实验要求 1:使用 SQL Server 服务管理器查看 SQL Server 服务是否正在运行, 若正在运行,将其停止。实验要求 2:使用控制面板中的“服务”管理控制台将已停止的SQL
5、Server 服务启动。2、企业管理器的使用企业管理器是 SQL Server 提供的最主要的数据库管理图形界面工具,它以树形 结构来组织数据库服务器、 数据库和数据库中的对象, 大部分的数据库管理工作都可 以使用它来完成。实验要求 3:启动企业管理器,查看 SQL Server 的注册属性。 提示:启动企业管理器后,在控制台树中,展开“ Microsoft SQLServers ”,然 后展开“ SQL Server 组”,右击自己的服务器名,然后单击“编辑 SQL Server 注册 属性”。实验要求 4:在企业管理器中,查看 Northwind 数据库中用户数据表和系统数据 表各有多少个
6、? 13,193、查询分析器的使用 查询分析器是图形化的数据库编程接口, 用户可以以自由的文本格式编辑、 调试 和执行SQLB本。实验要求5:在查询分析器中,使用SQL语句在master数据库中查询sysobjects 表的所有信息。提示:首先,启动查询分析器,在查询分析器的查询窗口中输入如下的SQL语句:select * from sysobjects 然后,单击工具栏中的“执行查询”按钮。实验要求 6 :在查询分析器中,使用SQL语句查询 Northwind数据库中的Employees表的所有信息。select * from Northwind.Employees4、联机丛书的使用联机丛书
7、中包含所有 SQL Server2000 的使用说明。在本课程的学习中,各位同 学应该掌握联机丛书的使用。实验要求7:打开联机丛书,在目录中展开“安装 SQL Server”,查看有关SQL Server 2000 的硬件和软件安装要求。实验要求 8:打开联机丛书,在索引中查找有关 sp_help 存储过程的帮助信息。四、思考题 可以在一台计算机中注册多个命名实例和服务器, 现在若需要将 18号机器的 SQL Server 服务注册到本地企业管理器中来,应该怎么做?实验 2 数据库的管理和表操作一、实验目的1 掌握使用企业管理器和 T-SQL语言创建SQL Server数据库的方法。2掌握附加
8、和分离数据库的方法。3 掌握使用企业管理器或存储过程查看 SQL数据库属性的方法。4熟悉数据库的收缩、更名和删除。5掌握使用企业管理器或 sp_dboption 存储过程修改数据库选项的方法。6 掌握使用企业管理器和T-SQL语句创建表、修改表的结构。7 掌握使用企业管理器和T-SQL语句实现对数据的操作。二、实验内容与步骤1 、使用向导创建数据库实验内容 1:创建一个名为 TestData0 的数据库,数据文件的初始大小设为 20MB, 文件增长增量设为5MB文件增长方式设为自动增长,文件的增长上限设为500MB日志文件的初始大小为20MB文件增长增量设为1MB文件的增长限制设为100MBC
9、REATE DATABASE TestData0ON( NAME = TestData0,FILENAME ='d:TestDBTestData0.mdf', SIZE = 20,MAXSIZE = 500,FILEGROWTH = 5 )LOG ON( NAME =TestLog0,FILENAME = 'd:TestDBTestLog0.ldf', SIZE = 20,MAXSIZE = 100,FILEGROWTH = 1 )2、用企业管理器创建数据库实验内容 2:使用 SQL Server 企业管理器创建一个数据库,具体要求如下:数据库名称为 Test
10、。主要数据文件:逻辑文件名为 TestData1 ,物理文件名为 TestData1.mdf ,初 始容量为1MB最大容量为10MB递增量为1MB次要数据文件:逻辑文件名为 TestData2 ,物理文件名为 TestData2.ndf ,初 始容量为1MB最大容量为10MB递增量为1MB事务日志文件:逻辑文件名为 TestLog1 ,物理文件名为 TestLog1.ldf ,初始 容量为1MB大容量为5MB递增量为512KBCREATE DATABASE TestON( NAME = TestData1,FILENAME ='d:TestDBTestData1.mdf',SI
11、ZE = 1,MAXSIZE = 10,FILEGROWTH = 1 ),( NAME = TestData2,FILENAME ='d:TestDBTestData2.ndf',SIZE = 1,MAXSIZE = 10,FILEGROWTH = 1 )LOG ON( NAME =TestLog1,FILENAME = 'd:TestDBTestLog1.ldf',SIZE = 1,MAXSIZE = 5,FILEGROWTH = 512KB )3、用T-SQL语言创建数据库实验内容 3:使用查询分析器新建一个数据库 名称为“图书” 其主要数据文 件大小为2M
12、,最大文件大小为10M每次增长2M;次要数据文件大小为1M日志文 件大小为1M三个文件的文件名自定,上述没有说明的选项都采用默认值。提示:在查询分析器中输入如下 SQLW本:CREATE DATABAS图书ON( NAME = data1,FILENAME = 'd:TestDBdata1.mdf',SIZE = 2,MAXSIZE = 10,FILEGROWTH = 2 ),( NAME =data2,FILENAME = 'd:TestDBdata2.ndf',SIZE = 1 )LOG ON( NAME =log,FILENAME = 'd:Tes
13、tDBlog.ldf',SIZE = 1 )实验内容4:用T-SQL语句创建一个名为student的数据库,它由5MB的主数据 文件、2MB的次数据文件和1MB的日志文件组成。并且主数据文件以 2MB的增长速度 增长,其最大容量为15MB次数据文件以10%勺增长速度增长,其最大容量为10MB 事务日志文件以1MB增长速度增长,其最大日志文件大小为 10MB提示:在查询分 析器中输入如下SQLW本:CREATE DATABASE studentOn( name=student1,filename= 'd:TestDBstudent_data1.mdf',size=5,ma
14、xsize=15,filegrowth=2),( name=student2,filename='d:TestDBstudent_data2.ndf',size=2,maxsize=10,filegrowth=10%)log on( name=student_log,filename='d:TestDBstudent_log.ldf',size=1,maxsize=10,filegrowth=1)4、数据库的分离与附加实验内容5:将“图书”数据库与服务器分离。可以使用企业管理器或SQL语言对数据库进行分离的操作。分离数据库的存储过程是 sp_detach_db
15、。sp_detach_db 图书实验内容 6:将已分离的“图书”数据库附加到服务器上。可以使用企业管理器 或SQL语言对数据库进行附加的操作。附加数据库的存储过程是sp_attach_db。sp_attach_db 图书,'d:TestDBstudent_data1.mdf','d:TestDBstudent_data2.ndf','d:TestDBstudent_log.ldf'5、查看和修改数据库属性可以使用企业管理器或SQL语言来查看或修改数据库的属性。使用企业管理器的 方法是右击数据库名称,在快捷菜单中选择“属性” ,然后数据库属性对话框
16、中就可 以查看或修改数据库的属性。也可以使用sp_helpdb 、sp_spaceused、sp_helpfile和 sp_helpfilegroup 等存储过程查看和数据库有关的属性。修改数据库属性可以使 用 ALTER DATABAS命令。实验内容 7:使用 sp_helpdb 存储过程查看 student 数据库的信息,然后企业管 理器将student数据库的事务日志文件的增长大小改为按 1MB字节增长,再使用 sp_helpdb 存储过程查看 student 数据库的信息。sp_helpdb student实验内容8:使用ALTER DATABAS命令为student数据库添加一个新的
17、数据文 件,文件逻辑名为student_data3,初始大小为2MB增长值为1MB其他属性默认。ALTER DATABASE studentADD FILE( name=student_data3,filename='d:TestDBstudent_data3.ndf',size=2,filegrowth=1)ALTER DATABASE studentremove FILE student_data36数据库的收缩数据库收缩可以缩小数据库的空闲空间。 可以使用企业管理器或SQL语言对数据 库进行收缩工作。收缩数据库使用的 SQL语言是DBCCSHRINKDATABASE令。也
18、可以 使用ALTER DATABAS的 SET子句或sp_dboption将数据库设为自动收缩。DBCC SHRINKDATABASE(stude nt)实验内容9:将student数据库设为自动收缩。sp_dboption N'student', N'autoshrink', N'true'7、数据库的更名更改数据库的名称应使用sp_re namedb存储过程。实验内容10:将student数据库改名为stu。sp_re name 'stude nt', 'stu'8、数据库选项的配置可以使用ALTER DATA
19、BAS语句的SET子句、sp_dboption 系统存储过程,或 者在某些情况下使用SQL Server企业管理器设置数据库选项。实验内容11:使用企业管理器将stu数据库设为只读。实验内容12:使用sp_dboption存储过程取消stu数据库的只读设置。sp_dboption N'stude nt', N'read on ly', N'true9、数据库的删除删除数据库可以使用企业管理器或 DROP DATABASE令o实验内容13:使用DROP DATABASE令将stu数据库删除。DROP DATABASE stu10、使用企业管理器按下表结构创
20、建表表名:Course属性名称属性描述数据类型字节数空否备注CourseID】田千口 i=r. 课程号int4否主键,标识列CourseName课程名称varchar20否Category课程类别char8Period学时数smalli nt2Credit学分tin yi nt1表名:Class Info属性名称属性描述:数据类型:字节数空否备注ClassID班级号int4否ClassName班级名称varchar20否11、使用T-SQL语句按下表结构创建表表名:Student属性名称属性描述数据类型字节数空否备注Stude ntNum学号char9否主键Stude ntName姓名varc
21、har8否Sex性别bit1Birthday出生日期smalldatetime4ClassID班级号int4CREATE TABLE stude nt(Stude ntNum char(9) NOT NULL PRIMARY KEY,Stude ntName varchar(8) NOT NULL,Sex bit,Birthday smalldatetime,ClassID int)12、使用企业管理器修改表的结构使用企业管理器将第1题所建立的 Course表中的Category字段修改为varchar(20),为 Period 和 Credit 字段默认值为 0。13、使用T-SQL语句修改
22、表的结构使用T-SQL语句为Student表添加Nation (民族)字段和Stature (身高)字段, 字段数据类型自定。ALTER TABLE Stude ntADD Nation varchar(8),Stature intDrop colum n Natio n,Stature14、使用企业管理器实现对数据的操作使用企业管理器按下表向Course添加数据。】田千口 i=r. 课程号课程名称课程类别学时数学分1哲学:公共3622实用英语(1)r公共7233实用英语(2)公共7234计算机应用基础公共10255C语言程序设计专业基础10256关系数据库技术基础专业基础1025四、思考题1
23、. 一个数据库中包含哪几种文件?2. 事务日志文件的大小一般为数据文件大小的多少合适?3. 若需修改数据库文件的大小,可以使用的方法有哪些?若要求使用 则命令应如何编写?除?T-SQL 语能不能被删4. 能不能删除 master 数据库?若一个用户数据库当前正在被访问,一、实验目的1了解T-SQL语句的基本语法。2. 掌握基本的SELECTS句的设计和编写。3 掌握多表查询的使用。4. 熟悉UNION子句的使用。5. 掌握GROUP B子句的使用。6. 练习使用企业管理器、向导和查询分析器创建视图。7. 会使用视图、修改视图、查询视图的信息和删除视图。8. 进一步掌握使用T-SQL语句实现对数
24、据的操作。二、实验内容与步骤利用上次实验所创建的student数据库进行实验。1、使用T-SQL语句实现对数据的操作 使用INSERT语句向Course表中添加记录:(计算机网络,专业基础,72, 4)insert Course(CourseName,Category,Period,Credit) values('计算机网络',' 专业基础','72','4') 使用UPDATE!句将Course表中的“计算机应用基础”课的学时数改为106update Course set Period='106' where C
25、ourseName='计算机应用基础(3)使用DELETES句将Course表中的公共课全部删除。DELETE FROM Course where Category='公共'2、使用T-SQL语句按下表结构创建表(在创建表时定义约束)表名:Grade属性名称属性描述数据类型字节数空否约束备注Stude ntNum学号char9否;主键CourseID】田千口 i=r. 课程号int4否主键DailyGrade平时成绩decimal5, 1不小于0且不大于20PracticeGrade实践成绩decimal5, 1不小于0且不大于30TestGrade期末成绩decima
26、l5, 1不小于0且不大于50Grade总评由平时成绩(20% )、实践成 绩(30%)和期末成绩(50%) 计算而来create table Grade(Stude ntNumchar(9) n ot null,CourselDint not nu II,DailyGradedecimal(5,1),PracticeGrade decimal(5,1),TestGradedecimal(5,1),Grade as DailyGrade*0.20+ PracticeGrade*0.30+ TestGrade*0.50con stra int pk_sc primary key(Stude nt
27、Num,CourselD),con stra int ck_dg check(DailyGrade>0 and DailyGrade<20),con stra int ck_pg check(PracticeGrade>0 and PracticeGrade<30),con stra int ck_tg check(TestGrade>0 and TestGrade<50)3、使用T-SQL语句修改表的结构(1) 为班级表Class Info添加入学时间En rollDate字段,并定义入学时间不小于2001年9月1日。alter table Class I
28、nfo Add En rollDate datetime,check (En rollDate >= '2001-9-1')(2) 为班级表Class Info 定义主键约束,定义班级号 ClassID为主键。alter table ClassI nfo add con stra int pk_ClassI nfo primary key(ClassID)4、使用企业管理器定义约束(1) 为学生表Student定义外键约束,使 ClassID参照班级表ClassInfo中的ClassID,并为约束设置级联更新。(2) 为班级表 Class Info 的ClassName定
29、义唯一约束。5、默认值对象的创建与使用(1)使用T-SQL语句创建名为DF_GRAD的默认值对象,值为0。CREATE DEFAULT DF_GRADE AS 0(2) 使用企业管理器将DF_GRAD绑定到成绩表 Grade中的DailyGrade、 PracticeGrade 和 TestGrade 字段上。exec sp_bindefault DF_GRADE,'Grade.DailyGrade'exec sp_bindefault DF_GRADE,'Grade.PracticeGrade'exec sp_bindefault DF_GRADE,'
30、Grade.TestGrade'(3) 使用 sp_unbindefault 存储过程将 DF_GRAD从 DailyGrade、PracticeGrade 和 TestGrade 字段上解除。exec sp_unbindefault 'Grade.DailyGrade'exec sp_unbindefault 'Grade.PracticeGrade'exec sp_unbindefault 'Grade.TestGrade'(4) 删除DF_GRAD默认值对象。DROP DEFAULT DF_GRADE在查询分析器在窗口下用 SELE
31、CTS句完成单表查询:5、SELECT语句的基本使用 查询学生基本信息表中的每个学生的所有数据。Select * from stud_info 在学生基本信息表中查询每个学生的地址和电话。Select address,telcode from stud_info 查询学号为“ 0401010634”的学生的地址和电话。Select address,telcode from stud_info where stud_id='0401010634' 查询studnfo表中性别为“女”的学生的地址和电话。使用AS子句将结果 中指定目标列的标题分别指定为地址,电话。Select add
32、ress as 地址,telcode as 电话 from studnfo where gen der=N' 女' 查询计算机应用教研室“ 0101”的教师工资情况。Select name,salary from teacher_info where jysh_id='0101'王%' 找出所有姓“王”的教师所对应的技术职称。Select name,tech_title from teacher_info where name like 在学生成绩表中查询成绩在 8089之间的学生的学号、 课程号和成绩。Select stud_id,course_id,
33、grade from stud_grade where grade between 80 and 896、子查询的使用 查找在计算机工程系“ 01 ”工作的教师的情况。Select * from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01') 查找计算机工程系“ 01 ”中所有担任多媒体技术“ 0401010106”的教师编号 和姓名。Select teacher_id,name from teacher_info where jysh_id in(sel
34、ect jysh_id from staffroom_info where deptcode='01') and course_id='0401010106' 查找计算机应用技术专业的学生学号、 姓名、年龄、 电话号码及其家庭地址。Select stud_id,name,year(getdate()-year(birthday) age,telcode,address from stud_info where speccode =(select speccode from specialty_code where specname='计算机应用技术
35、39;)7、连接查询的使用 在 stud_info 与 stud_grade 中按 stud_id 进行等值内连接, 以查询所有参加 考试的学生基本信息和成绩。Select a.*,b.grade from stud_info a inner join stud_grade bOn a.stud_id=b.stud_id 实现 teacher_info 左外连接 lesson_info 。Select * from teacher_info a left outer join lesson_info bOn a.course_id=b.course_id8、数据汇总 查询全体教师的平均工资。S
36、elect avg(salary) from teacher_info 求计算机工程系“ 01”教师的平均年龄。Select avg(age) from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01') 求计算机工程系“ 01”教师的总人数。Select count(*) from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01
37、39;)9、GROUP BYORDER B子句的使用 按职称统计各个教研室的教师人数。Select jysh_id,count(*) from teacher_info group by jysh_id 将计算机工程系 “01”职称为“讲师”的教师,按年龄由低到高排列Select * from teacher_info where jysh_id in(select jysh_id from staffroom_info where deptcode='01') order by age10、熟悉 pubs 数据库中的三个用户表: employee(emp_id,fname,m
38、init,lname,job_id,job_lvl,pub_id,hire_date)job(job_id,job_desc,min_lvl,max_lvl) , publishers(pub_id,pub_name,city,state,country) 。 他们分别是关于雇员、职务和出版社的基本表。11、在查询分析器在窗口下用 SELECTS句完成单表查询: 查询全体出版社的详细记录;Select * from publishers 查询所有工作的 job_id 为 7 的职工的职工编号;Select emp_id from employee where job_id=7 查询工作的 jo
39、b_id 小于 7 的职工的职工编号;Select emp_id from employee where job_id<7 查询在Germany和France的出版社的名字和所在城市;Select pub_name,city from publishers where country='Germany' or country='France' 查询 lastname 为 Jablonski 的雇员的 firstname 、job_id 和 hire_date ;Select emp_id from employee where job_id<7 查询
40、 lastname 的前两个字符为 cr 的职员的编号和 firstname ;select emp_id,fname from employee where lname like 'cr%' 查询 job_id 为 5 的职员的编号和 job_lvl ,查询结果按 job_lvl 的降序排列;select emp_id,job_lvl from employee where job_id=5 order by job_lvl desc 查询 job_id 为 13的职员中 job_lvl 最高的职员的 firstname 和 lastname 。select top 1 fn
41、ame,lname from employee where job_id=13 order by job_lvl desc12、在查询分析器在窗口下用 SELECT语句完成连接(嵌套)查询: 查询各个工作号与相应的工作人数;select job_id,count(*) from employee group by job_id 查询每个职工及其工作的描述( job_desc )的情况;select employee.*,job_desc from employee inner join jobson employee.job_id = jobs.job_id 查询每个职工及其工作职务名其及所在
42、出版社的名字;select a.*,b.job_desc,c.pub_name from employee a inner join jobs bon a.job_id = b.job_id inner join publishers con a.pub_id = c.pub_id 查询与“ Annette ”(firstname) 在同一个出版社工作的职工的 firstname ;select fname from employee where pub_id=(select pub_id from employee where fname='Annette') 查询在美国工作
43、的员工中工作职务为 Editor 的员工的 fname 和 lname;select fname,lname from employee where job_id=(select job_id from jobs where job_desc='Editor' )and pub_id in (select pub_id from publishers where country='USA' ) 查询在 NewMoonBooks 这个出版社工作的员工中 job_lvl 大于 100 的职工的 姓名和其所作工作的描述;select a.fname,a.lname,b
44、.job_desc from employee a inner join jobs bon a.job_id=b.job_id where job_lvl>100 and pub_id in(select pub_id from publishers where pub_name='New Moon Books' )13、在查询分析器在窗口下用 SELECTS句完成集合查询:查询 job_id 为 5 和 job_id 为 6 的职工的姓名和职工所在出版社的名字。select a.*,b.pub_name from employee a inner join publis
45、hers bon a.pub_id=b.pub_id where job_id=5 or job_id=614、使用企业管理器创建一个名为 “view_1 ”的视图,内容是显示学生表 Student 中计算机应用技术“ 040101”的学生的学号、姓名和性别。create view view_1 Asselect stud_id,name,gender from stud_info where speccode='040101'15、使用查询分析器创建一个名为“ view_2”的视图,内容是显示学生表中没有 选修课程的学生的学号、姓名和班级,并且为该视图加密。create vi
46、ew view_2with encryption Asselect stud_id,name,speccode from stud_info where stud_id not in(select stud_id from stud_grade)16、使用查询分析器修改名为“ view_1 ”的视图,内容修改为显示学生表中男生 的学号、 姓名、性别和专业代码, 并且以后所有对该视图的更新操作都必须符合所设 定的条件。alter view view_1 Asselect stud_id,name,gender,speccode from stud_infowhere gender=N'
47、男 ' with check option16、查询视图“ view_1 ”中专业代码为 040102'的学生所有信息select * from view_1 where speccode='040102'17、向视图“ view_1 ”中的所有字段插入一条记录。insert view_1 values('0402010999','李四',' 男','040201')实验 4 Transact-SQL 数据库编程实验一、实验目的1掌握 Transact-SQL 的基础知识。 2掌握流程控制语句和功能
48、性语句的格式及应用。3掌握存储过程和触发器的应用。二、实验内容与步骤在查询分析器在窗口下用T-SQL语句完成下列操作:1、从数据表 stud_info 中,查找学号为 0401030213的学生,找到则显示: “您 好! XX同学”否则显示“未找到”。if exists (select * from stud_info where stud_id='0401030213')print ' 您好! XX 同学 'elseprint ' 未找到 '2、从数据库 teachernfo 中,选取 teacher_id、name gender,如果 gen
49、der 为“女”则输出“女士” ,如果为“男”则输出“先生” 。SELECT teacher_id,name,sex=CASE genderWHEN N'男' THEN N' 先生 'WHEN N'女' THEN N' 女士 'ELSE '未知'END from teacher_info3、计算1100之间所有能被3整除的数的个数及总和declare x int,s intset x=3set s=0while (x<100)beginset s=s+xset x=x+3endprint s4、计算 s=1!
50、+2!+ +10!。declare n int,s int,i int,st intset n=1set s=0while (n<=10)beginset i=1set st=1while (i<=n)beginset st=st*iset i=i+1endset s=s+stset n=n+1endprint s5、输出字符串“ School ”中每一个字符的 ASCII 值和字符。declare pos int,str char(6),len int,ch char(1)set pos=1set str='School'set len=datalength(st
51、r)while pos<=lenbeginset ch=substring(str,pos,1)select ch ascchar,ascii(ch) asccodeset pos=pos+1end6、从 stud_grad 表中查询所有同学考试成绩情况,凡成绩为空者输出“未考” , 小于 60分输出“不及格”,60分(含60分)至70分输出“及格”,70分(含 70分) 至 80 分输出“良好”,大于等于 80 分输出“优秀”select stud_id,score=casewhen grade is null then '未考 'when grade<60 th
52、en ' 不及格 'when grade<70 then ' 及格 'when grade<80 then ' 良好 'when grade>=80 then ' 优秀 ' endfrom stud_grade7、查询pubs数据库的employee表,如果表中雇员的平均服务时间长于10年,则打印信息:我们的雇员都很忠诚 :) ',否则打印信息:我们的雇员经常跳槽 :( '。use pubsgoif (select avg( datediff(year,hire_date,getdate() fr
53、om employee) > 10print ' 我们的雇员都很忠诚 :)'elseprint ' 我们的雇员经常跳槽 :('8、查询 pubs 数据库中 employee 表,显示相关雇员信息 (id ,姓名,服务时间等 ) , 其中增加一个雇员类型'列:如果雇佣时间长于 12年,则显示他为新雇员' ,否 则显示他为老雇员' 。use pubsgoselectEmp_ID,LName + '.' + FName ' 姓名', datediff(year,hire_date,getdate() as
54、'age' , ' 雇员类型 ' =caseendFrom employeeOrder by age9、创建一个名为“ proc_1 ”的存储过程,用于查看学生表的所有信息。然后调 用该存储过程。create procedure proc_1as select * from stud_info10、创建一个名为“ proc_2 ”的存储过程,用于向学生表的所有字段添加一条记 录,记录内容由调用时决定。然后调用该存储过程。CREATE PROCEDURE proc_2(stud_id_1 char(10),name_2 nvarchar(4),birthday_3
55、 datetime,gender_4 nchar(1),address_5 nvarchar(20),telcode_6 char(12),zipcode_7 char(6),mark_8 decimal,speccode_9 char(6)ASINSERT INTO stud_info( stud_id,name,birthday,gender,address,telcode, zipcode,mark,speccode)VALUES ( stud_id_1,name_2,birthday_3,gender_4,address_5,telcode_6,zipcode_7,mark_8,spe
56、ccode_9)11、创建一个名为“ proc_3 ”的存储过程,用于删除学生表中指定学号的记录, 具体学号由调用时决定。然后调用该存储过程CREATE PROCEDURE proc_3 stud_id_1 char(10)AS DELETE FROM stud_info WHERE stud_id=stud_id_112、修改存储过程“ proc_4 ”,用于查询不小于指定成绩的学生的基本信息,具 体成绩由调用时决定。create procedure proc_4grade_1 decimal(4,1)asselect * from stud_info where stud_id in(se
57、lect stud_id from stud_grade where grade>=grade_1)13、创建一个名为“ proc_5 ”的存储过程,用于求一个 3 位整数的反序数。例如 123 的反序数为 321。create procedure proc_5n intas select reverse(str(n)14、创建一个名为“ trig_1 ”的触发器,当向学生表添加记录时,该触发器自动 显示学生表的所有信息。CREATE TRIGGER trig_1 ON stud_infoFOR INSERTASselect * from stud_info15、创建一个名为“ trig_2 ”的触发器,当试图向学生表添加、修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖南长沙青竹湖九上化学期中学业水平测试试题含解析
- 2026届广东省肇庆市端州区英语九上期末质量检测试题含解析
- 内蒙古呼伦贝尔市扎兰屯市正阳小学2024-2025学年六年级下学期期中考试英语试题(无答案)
- 2026届浙江省嘉兴市高三上学期一模政治试题(含答案)
- 2026届江苏省徐州市新城实验学校九年级化学第一学期期中调研试题含解析
- 辽源彩钢隔断施工方案
- 江苏省盐城市大丰市创新英达学校2026届英语九年级第一学期期末联考模拟试题含解析
- 建筑工程供货担保合同5篇
- 《不离家离婚夫妻共同生活费用管理及监督协议》
- 区块链科技公司股权分割与生态体系建设合同
- 2025年新护士招聘三基考试题库及答案
- 2024年绍兴杭绍临空示范区开发集团有限公司招聘真题
- 心血管-肾脏-代谢综合征(CKM)综合管理中国专家共识2025解读课件
- 租房合同范本下载(可直接打印)
- (高清版)TDT 1013-2013 土地整治项目验收规程
- 带秋字的古诗飞花令
- 体育原理完整版
- 超声引导下坐骨神经阻滞
- 医院医院质量与安全管理委员会章程
- 小学二年级上册语文全册课件
- 隧道施工安全教育培训
评论
0/150
提交评论