数据库函数存储过程实验报告Word文档格式.docx
- 文档编号:18572422
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:14
- 大小:228.54KB
数据库函数存储过程实验报告Word文档格式.docx
《数据库函数存储过程实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库函数存储过程实验报告Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。
4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;
(函数名为QryGoods)。
5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。
6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称和数量,并使用EXEC语句执行存储过程。
7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。
8、定义存储过程SP_Total,查询指定商品编号的总订购数。
并执行该存储过程。
9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。
10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。
11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;
若存在,输出1;
否则,输出0。
12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;
若存在,用输出参数传出1;
否则传出0。
3、实验过程与结果
设计的SQL语句如下:
printdatediff(d,getdate(),'
2020-1-1'
执行结果:
useSPDG
select客户姓名
fromKHBx,
(selectb.客户编号,SUM(数量)as总数量
fromKHBa,SPDGBb
wherea.客户编号=b.客户编号
groupbyb.客户编号)y
wherex.客户编号=y.客户编号andCAST(y.总数量asCHAR(3))like'
1_'
go
ifexists(selectnamefromsysobjects
wheretype='
FN'
andname='
RectArea'
dropfunctionQryGoods
createfunctionRectArea
(@l1int,@l2int)
returnsint
as
begin
return@l1*@l2;
end
declare@aint,@bint
set@a=10
set@b=9
declare@areaint
select@area=dbo.RectArea(@a,@b);
print@area
QryGoods'
createfunctionQryGoods
(@bhchar(9))
returnschar(20)
declare@namechar(20)
select@name=(
select商品名称
fromSPBa
wherea.商品编号=@bh)
return@name
declare@bh2char(9)
set@bh2='
10010001'
declare@name2char(20)
select@name2=dbo.QryGoods(@bh2);
print@name2
wherename='
GetSPBH'
andtype='
p'
dropprocedureGetSPBH
createprocedureGetSPBH
select商品编号
fromSPB
execGetSPBH
KH_NJ_Qry'
dropprocedureKH_NJ_Qry
createprocedureKH_NJ_Qry
selecta.客户编号,a.客户姓名,c.商品编号,c.数量,b.商品名称
fromKHBa,SPBb,SPDGBc
wherea.客户编号=c.客户编号andc.商品编号=b.商品编号anda.所在省市='
江苏南京'
execKH_NJ_Qry
SP_FOOD_Qry'
dropprocedureSP_FOOD_Qry
createprocedureSP_FOOD_Qry
wherea.客户编号=c.客户编号andc.商品编号=b.商品编号andb.商品类别='
食品'
execSP_FOOD_Qry
SP_Total'
dropprocedureSP_Total
createprocedureSP_Total
@numchar(10)
selectSUM(数量)as总订购数
fromSPDGB
where商品编号=@num
execSP_Total'
SP_Totalcost'
dropprocedureSP_Totalcost
createprocedureSP_Totalcost
declare@numberfloat
declare@moneyfloat
select@number=SUM(数量)
select单价*@numberas总订购金额
execSP_Totalcost'
10020001'
SP_Name_Qry'
dropprocedureSP_Name_Qry
createprocedureSP_Name_Qry
@namechar(20)
select*
where商品名称=@name
execSP_Name_Qry'
休闲服'
SP_Name_Qry1'
dropprocedureSP_Name_Qry1
createprocedureSP_Name_Qry1
ifexists(
where商品名称=@name)
print1
else
print0
execSP_Name_Qry1'
咖啡'
SP_Name_Qry2'
dropprocedureSP_Name_Qry2
createprocedureSP_Name_Qry2
@namechar(20),@countint
set@count=(
selectCOUNT(*)
print@count
execSP_Name_Qry2'
休闲裤'
'
0'
四、实验总结
本次实验学习了SQLserver中一些库函数的使用方法,函数的定义、调用以及有参和无参存储过程的定义和使用方法,总体来说难度不大。
(资料素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 函数 存储 过程 实验 报告