SQL实验五:T-SQL编程.doc_第1页
SQL实验五:T-SQL编程.doc_第2页
SQL实验五:T-SQL编程.doc_第3页
SQL实验五:T-SQL编程.doc_第4页
SQL实验五:T-SQL编程.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学校代码: 10128学 号: 201120905048 数据库原理及应用实验报告(题 目:T-SQL编程学生姓名:孙跃学 院:理学院系 别:数学系专 业:信息与计算科学班 级:信计12-2任课教师:侯睿 二 一 五 年 四 月91、 实验目的(1)进一步巩固第2章第4章所学内容;(2)掌握用户自定义类型的使用;(3)掌握变量的分类及其使用;(4)掌握各种运算符的使用;(5)掌握各种控制语句的使用;(6)掌握系统函数及用户自定义函数的使用。2、 实验内容1.自定义数据类型的使用。(1)对于实验2给出的数据库表结构,再自定义一数据类型ID_type,用于描述员工编号。(2)在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID列使用的数据类型为用户自定义类型ID_type。2.变量的使用。(1)对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。(2)定义一个变量,用于获取号码为102201的员工的电话号码。3.运算符的使用。(1)使用算数运算符“-”查询员工的实际收入。(2)使用比较运算符“”查询Employees表中工作时间大于5年的员工信息。4.流程控制语句。(1)判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示查无此人。(2)假设变量X的初始值为0,每次加1,直至X变为5。(3)使用CASE语句对Employees表按部门进行分类。5.自定义函数的使用。(1)定义一个函数实现如下功能:对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1。(2)写一段T-SQL程序调用上述函数。6.系统内置函数的使用。(1)求一个数的绝对值。(2)求财务部雇员的总人数。(3)使用ASCII函数返回字符表达式最左端字符的ASCII值。(4)获得当前的日期和时间。3、 实验程序自定义数据类型的使用1.对于实验2给出的数据库表结构,再自定义一数据类型ID_type,用于描述员工编号。USE YGGLEXEC sp_addtype ID_type,char(6),not nullGO2.在YGGL数据库中创建Employees3表,表结构与Employees类似,只是EmployeeID列使用的数据类型为用户自定义类型ID_type。USE YGGLGOIF EXISTS(SELECT name FROM sysobjects WHERE name=Employees3)DROP table employees3CREATE TABLE Employees3( EmployeeID ID_type,Name char(10)NOT NULL,Education char(4) NOT NULL,Birthday datetime NOT NULL,Sex bit NOT NULL DEFAULT 1,WorkYear tinyint NULL,Address varchar(40) NULL,PhoneNumber char(12)NULL,DepartmentID char(3)NOT NULL,PRIMARY KEY(EmployeeID)GO变量的使用1.对于实验2给出的数据库表结构,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女员工的编号、姓名。USE YGGLDECLARE female bitSET female=0SELECT EmployeeID,NameFROM EmployeesWHERE Sex=Female2.定义一个变量,用于获取号码为102201的员工的电话号码。DECLARE phone char(12) SET phone=(SELECT PhoneNumberFROM EmployeesWHERE EmployeeID=102201) SELECT phone运算符的使用1.使用算数运算符“-”查询员工的实际收入。SELECT InCome-OutComeFROM Salary2.使用比较运算符“”查询Employees表中工作时间大于5年的员工信息。SELECT *FROM EmployeesWHERE WorkYear53.判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示“查无此人”。IF EXISTS (SELECT Name FROM Employees WHERE EmployeeID=111006)SELECT * FROM Employees WHERE EmployeeID=111006ELSESELECT查无此人4.假设变量X的初始值为0,每次加1,直至X变为5。DECLARE X INTSET X=1WHILE X”查询Employees表中工作时间大于5年的员工信息。7.判断Employees表中是否存在编号为11006的员工,如果存在则显示该员工信息,不存在则显示“查无此人”。8.假设变量X的初始值为0,每次加1,直至X变为5。9.使用CASE语句对Employees表按部门进行分类。10.定义一个函数实现如下功能:对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,若存在则返回0,否则返回-1。11.写一段T-SQL程序调用上述函数。12.求一个数的绝对值。13.求财务部雇员的总人数。14.使用ASCII函数返回字符表达式最左端字符的ASCII值。15.获得当前的日期和时间。16.查询YGGL数据库中员工号为000001的员工出生的年份。5、 实验总结通过本次实验,我对第2章第4章所学内容进一步巩固和加深,对课堂上没有理解的问题重新进行了学习,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论