资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
实验八 T-SQL 语言的应用学生班级 学号 姓名: 【实验一】函数及基本语句(1)计算你来到人世的总天数。SELECT N来到世间的天数= DATEDIFF(DAY,1991-02-07,GETDATE()(2)计算年龄为整 77 岁对应的总天数。select N77 岁人的生日 =dateadd(year,-77,getdate()SELECT N来到世间的天数= DATEDIFF(DAY,1934-10-31,GETDATE()SELECT N来到世间的天数=DATEDIFF(DAY,dateadd(year,-77,getdate(),GETDATE()(3)计算出生日期为 1990 年 12 月 21 日的人的年龄。SELECT N年龄=DATEDIFF( year,1990-12-21,GETDATE()(4)将数值型数据 11.34 转换成字符型,要求长度为 6 位,小数位数为 2 位。declare x floatset x=11.34select STR(x,6,2)(5)查询课程表中课程名称是 4 个字的课程信息。select *from coursewhere len(cname)=4(7)利用变量和打印语句显示最大报名人数和最小报名人数。declare max_bmrs int,min_bmrs intselect max_bmrs=MAX(报名人数),min_bmrs=min(报名人数)from studentprint max_bmrsprint min_bmrs(8)求 10!。declare inti intdeclare s bigintset s=1set inti=1while inti11begin set s=s*intiset inti=inti+1endprint s【实验二】编程获取某雇员的工作业绩信息题目要求: 使用 T-SQL 编程,获取“王孔若”的姓名、性别、出生年月及雇用日期等信息;然后输出“王孔若”所做订单的明细表、订单数目及订单总金额。实例分析:由于订单明细表具体信息分布在 p_order 表(订单表) 、product表(产品表) 、 customer 表(客户表)中,故需要用 SELECT 语句提取出这些表中的有用信息。所以,本题的完成涉及多个表操作。在下面粘贴你所使用的 SQL 语句。语句提示:-定义 SQL server 的变量,必须以开头命名变量,用 DECLARE 定义变量-为变量赋值-通过查询语句将字段的值赋值给变量-用 PRINT 语句结合函数格式化输出变量的值-输出雇员王孔若 完成的订单明细 -输出雇员王孔若 完成的订单数目以及订单总金额USE companyinfo-定义 SQL server 的变量,必须以开头命名变量,用 DECLARE 定义变量DECLARE emp_Id int DECLARE name varchar(8)DECLARE sex char(2)DECLARE date1 datetimeDECLARE date2 datetime-为变量赋值SET name=王孔若 -通过查询语句将字段的值赋值给变量SELECT emp_Id=雇员 id,sex=性别,date1=出生日期,date2=雇佣日期FROM employee WHERE 姓名=name -用 PRINT 语句结合函数格式化输出变量的值PRINT 姓名: +name+ 性别:+sex+ 出生年月:+convert(char(4),year(date1)+ 年+convert(char(2),month(date1)+ 月+convert(char(2),day(date1)+ 日+ 雇用日期:+convert(char(4),year(date2)+ 年+convert(char(2),month(date2)+ 月+convert(char(2),day(date2)+ 日 -输出雇员王孔若完成的订单明细SELECT customer.公司名称,customer .联系人姓名,product.产品名, p_order .数量,p_order.订货日期,employee.姓名 ,product.单价FROM employee,customer,product,P_orderWHERE employee.雇员ID= emp_Id and P_order.雇员ID =employee.雇员ID and P_order.产品ID =product.产品ID andP_order.客户ID =customer.客户ID SELECT count(*) as 订单数目,sum(P_order.数量*product.单价) as 总金额FROM employee,product,P_orderWHERE employee.雇员id= emp_Id and P_order.雇员id =employee.雇员id and P_order.产品 id=product.产品 id【实验二】 题目要求: 雇员“王孔若”签订了一个供应给“鹿城中学”50 个优盘的订单,编程实现将订单涉及的相关信息写入数据库中。实例分析:一条订单会涉及产品、客户及雇员的有关信息,且这些信息分别存放在不同的表中,所以,要将订单涉及的相关信息写入数据库中,需要完成以下几方面的操作。先要获取该订单的相关信息。然后在将这条订单信息添加到订单表(p_order)中的同时,还必须修改其他表中的信息,包括在客户表(customer)中添加对应于该订单记录对应的客户信息,在产品表(product)中修改产品的库存量,其值必须为当前库存量的值减去刚增加的订单记录中包含的数量值。同理,如果某雇员取消了一个订单,在各表中也必须修改或删除相应的记录信息。在下面粘贴你所使用的 SQL 语句。声明变量提示:-雇员 ID-客户 ID 的最大值-订单 ID 的最大值-产品的库存量-供应产品的产品编号USE companyInfoDECLARE userId int -保存雇员 IDDECLARE max_cusId int -保存客户 ID 的最大值DECLARE max_ordId int -保存订单 ID 的最大值DECLARE storePro int -保存产品的库存量DECLARE id_product int -保存供应产品的产品编号SELECT max_cusId=max(客户 ID) FROM customerSELECT max_cusId=max_cusId+1 -获取新插入客户的 IDINSERT customer VALUES(max_cusId, 鹿城中学, 李汉明, 05778235423,温州市学院路号,325000)SELECT storePro=库存量,id_product= 产品 ID FROM product WHERE 产品名=优盘SELECT max_ordId=max(订单 ID) FROM P_orderSELECT max_ordId=max_ordId+1 -获取要插入的订单信息的订单 IDSELECT userId=雇员 ID FROM employee WHERE 姓名 =王孔若 IF storePro50 PRINT 库存量不够ELSEBEGIN INSERT P_order VALUES(max_ordId,id_product,50,userId,max_cusId,getdate()UPDATE product SET 库存量=库存量-50 WHERE 产品 ID=id_productEND
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号