促,在放假之前也做了一部分,其余的就放假后完成了,其中也出此不少问题大都是马虎的问题。
实验三
一实验目的
f67891011
熟练掌握变量的定义、赋值与使用。熟练掌握常用基本运算符。熟练掌握流程控制语句,尤其是条件语句和循环语句。熟悉并掌握常用的系统函数。理解什么是标量函数、内嵌表值函数及多语句表值函数。熟练掌握自定义函数的定义和调用方法。
二实验内容及要求
对CPXS数据库,完成如下任务:
9创建一名为CustomerName的局部变量,并在SELECT语句中使用该变量查找“客户D”购买产品的情况(包括产品名称、单价)。10用TSQL语言编程输出3~300之间能被7整除的数。11查询CP表中各种产品的产品编号、产品名称和价格,对其价格按以下规则进行转换:若价格小于1000,替换为“廉价产品”;若价格在10002000之间,替换为“一般产品”;若价格大于2000小于5000,替换为“昂贵产品”;若价格大于5000,替换为“奢侈品”;列标题更改为“评价”。12使用系统函数,计算今天距“201211”还剩多少天。13根据产品编号,查询该产品的名称;(函数名为udf_GetCPName)14根据客户编号,统计其在某个时期内所购买的商品名称、数量及金额(函数名为udf_GetCPListByCID);对函数udf_GetCPListByCID,查询“客户A”在“201111”到“2011930”期间交易的销售日期、产品名称、销售数量和销售金额,并按销售日期升序排序。
三实验过程及结果
1useCPXSdeclareCustomerNamechar10setCustomerName客户DSELECT产品产品名称产品价格FROM产品销售WHERE产品产品编号销售产品编号a
d销售客户编号SELECT客户编号FROM客户WHERE客户名称CustomerName2用TSQL语言编程输出3~300之间能被7整除的数。DECLAREii
tai
tSETi3WHILEi300BEGINSETai7IFa0PRINT3~300之间能被7整除的数为:castiasvarcharSETii1
fEND3.USECPXSSELECT产品编号产品名称价格CASEWHEN价格1000the
廉价产品WHEN价格1000a
d价格2000the
一般产品WHEN价格2000a
d价格5000the
昂贵产品WHEN价格5000the
奢侈产品ENDAS评价FROM产品4.SELECTDATEDIFFDAYGETDATE201201015USECPXS
GOCREATEFUNCTIONudf_GetCPNamecpNoCHAR7RETURNSCHAR20ASBEGINDECLAREcpNamechar20SELECTcpNameSELECT产品名称FROM产品WHERE产品编号cpNoRETURNcpNameENDusecpxsdeclarecpchar7setcpS00001selectdboudf_GetCPNamecpas产品名称6USECPXSGOCREATEFUNCTIONudf_GetCPListByCID
oCHAR7begi
timedatetimee
dtimedatetimeRETURNSsalestablexs_datachar10xs_
amechar15xs_sr