数据库函数存储过程实验报告.docx

上传人:b****8 文档编号:8946079 上传时间:2023-05-16 格式:DOCX 页数:16 大小:228.32KB
下载 相关 举报
数据库函数存储过程实验报告.docx_第1页
第1页 / 共16页
数据库函数存储过程实验报告.docx_第2页
第2页 / 共16页
数据库函数存储过程实验报告.docx_第3页
第3页 / 共16页
数据库函数存储过程实验报告.docx_第4页
第4页 / 共16页
数据库函数存储过程实验报告.docx_第5页
第5页 / 共16页
数据库函数存储过程实验报告.docx_第6页
第6页 / 共16页
数据库函数存储过程实验报告.docx_第7页
第7页 / 共16页
数据库函数存储过程实验报告.docx_第8页
第8页 / 共16页
数据库函数存储过程实验报告.docx_第9页
第9页 / 共16页
数据库函数存储过程实验报告.docx_第10页
第10页 / 共16页
数据库函数存储过程实验报告.docx_第11页
第11页 / 共16页
数据库函数存储过程实验报告.docx_第12页
第12页 / 共16页
数据库函数存储过程实验报告.docx_第13页
第13页 / 共16页
数据库函数存储过程实验报告.docx_第14页
第14页 / 共16页
数据库函数存储过程实验报告.docx_第15页
第15页 / 共16页
数据库函数存储过程实验报告.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库函数存储过程实验报告.docx

《数据库函数存储过程实验报告.docx》由会员分享,可在线阅读,更多相关《数据库函数存储过程实验报告.docx(16页珍藏版)》请在冰点文库上搜索。

数据库函数存储过程实验报告.docx

数据库函数存储过程实验报告

信息工程大学数据库系统实验(实习)报告

实验(实习)名称数据库系统实验4实验(实习)日期2016-6-7得分指导教师顾韵华

系计软院专业计科年级2014级班次计科3班仇彤学号

一、实验目

1、掌握T-SQL函数及其调用方法。

2、掌握存储过程的定义及执行方法。

3、掌握有参存储过程的定义及执行方法。

4、掌握C#访问数据库的方法。

二、实验容

1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。

(P299"思考与练习")

2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户。

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、实验过程与结果

1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。

(P299"思考与练习")

设计的SQL语句如下:

printdatediff(d,getdate(),'2020-1-1')

执行结果:

2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户。

设计的SQL语句如下:

useSPDG

select客户

fromKHBx,

(selectb.客户编号,SUM(数量)as总数量

fromKHBa,SPDGBb

wherea.客户编号=b.客户编号

groupbyb.客户编号)y

wherex.客户编号=y.客户编号andCAST(y.总数量asCHAR(3))like'1_'

执行结果:

3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。

设计的SQL语句如下:

useSPDG

go

ifexists(selectnamefromsysobjects

wheretype='FN'andname='RectArea')

dropfunctionQryGoods

go

createfunctionRectArea

(l1int,l2int)

returnsint

as

begin

returnl1*l2;

end

go

declareaint,bint

seta=10

setb=9

declareareaint

selectarea=dbo.RectArea(a,b);

printarea

执行结果:

4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。

设计的SQL语句如下:

useSPDG

go

ifexists(selectnamefromsysobjects

wheretype='FN'andname='QryGoods')

dropfunctionQryGoods

go

createfunctionQryGoods

(bhchar(9))

returnschar(20)

as

begin

declarenamechar(20)

selectname=(

select商品名称

fromSPBa

wherea.商品编号=bh)

returnname

end

go

declarebh2char(9)

setbh2='10010001'

declarename2char(20)

selectname2=dbo.QryGoods(bh2);

printname2

执行结果:

5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='GetSPBH'andtype='p')

dropprocedureGetSPBH

go

createprocedureGetSPBH

as

select商品编号

fromSPB

go

execGetSPBH

执行结果:

6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回的客户编号、、及其订购商品的编号、商品名称和数量,并使用EXEC语句执行存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='KH_NJ_Qry'andtype='p')

dropprocedureKH_NJ_Qry

go

createprocedureKH_NJ_Qry

as

selecta.客户编号,a.客户,c.商品编号,c.数量,b.商品名称

fromKHBa,SPBb,SPDGBc

wherea.客户编号=c.客户编号andc.商品编号=b.商品编号anda.所在省市=''

go

execKH_NJ_Qry

执行结果:

7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、、订购数量,并使用EXEC语句执行存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_FOOD_Qry'andtype='p')

dropprocedureSP_FOOD_Qry

go

createprocedureSP_FOOD_Qry

as

selecta.客户编号,a.客户,c.商品编号,c.数量,b.商品名称

fromKHBa,SPBb,SPDGBc

wherea.客户编号=c.客户编号andc.商品编号=b.商品编号andb.商品类别='食品'

go

execSP_FOOD_Qry

执行结果:

8、定义存储过程SP_Total,查询指定商品编号的总订购数。

并执行该存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_Total'andtype='p')

dropprocedureSP_Total

go

createprocedureSP_Total

numchar(10)

as

selectSUM(数量)as总订购数

fromSPDGB

where商品编号=num

go

execSP_Total'10010001'

执行结果:

9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。

并执行该存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_Totalcost'andtype='p')

dropprocedureSP_Totalcost

go

createprocedureSP_Totalcost

numchar(10)

as

declarenumberfloat

declaremoneyfloat

selectnumber=SUM(数量)

fromSPDGB

where商品编号=num

select单价*numberas总订购金额

fromSPB

where商品编号=num

go

execSP_Totalcost'10020001'

执行结果:

10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。

并执行该存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_Name_Qry'andtype='p')

dropprocedureSP_Name_Qry

go

createprocedureSP_Name_Qry

namechar(20)

as

select*

fromSPB

where商品名称=name

go

execSP_Name_Qry'休闲服'

执行结果:

11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。

并执行该存储过程。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_Name_Qry1'andtype='p')

dropprocedureSP_Name_Qry1

go

createprocedureSP_Name_Qry1

namechar(20)

as

ifexists(

select*

fromSPB

where商品名称=name)

print1

else

print0

go

execSP_Name_Qry1'咖啡'

执行结果:

12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。

设计的SQL语句如下:

useSPDG

ifexists(selectnamefromsysobjects

wherename='SP_Name_Qry2'andtype='p')

dropprocedureSP_Name_Qry2

go

createprocedureSP_Name_Qry2

namechar(20),countint

as

setcount=(

selectCOUNT(*)

fromSPB

where商品名称=name)

printcount

go

execSP_Name_Qry2'休闲裤','0'

执行结果:

四、实验总结

本次实验学习了SQLserver中一些库函数的使用方法,函数的定义、调用以及有参和无参存储过程的定义和使用方法,总体来说难度不大。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2