数据库函数、存储过程实验报告
- 格式:doc
- 大小:250.50 KB
- 文档页数:12
南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验4实验(实习)日期2016-6-7 得分指导教师顾韵华
系计软院专业计科年级2014级班次计科3班姓名仇彤学号20141308071
一、实验目
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。
三、实验过程与结果
1、使用系统函数(DA TEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习")
设计得SQL语句如下:
printdatediff(d,getdate(),'2020-1-1')
执行结果:
2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19得客户姓名。
设计得SQL语句如下:
useSPDG
select客户姓名
from KHBx,
(select b、客户编号,SUM(数量) as总数量
fromKHB a,SPDGB b
where a、客户编号=b、客户编号
group by b、客户编号)y
wherex、客户编号=y、客户编号and CAST(y、总数量asCHAR(3))like '1_'
执行结果:
3、定义函数RectArea,计算一个长方形得面积(长、宽作为函数得参数)。
设计得SQL语句如下:
useSPDG
go
if exists(selectnamefrom sysobjects
where type='FN'and name='RectArea')
drop function QryGoods
go
create function RectArea
(l1 int,l2int)
returnsint
as
begin
returnl1*l2;
end
go
declare aint,b int
seta=10
set b=9
declare area int
select area=dbo、RectArea(a,b);
print area
执行结果:
4、在SPDG数据库中定义函数,根据商品编号,查询该商品得名称;(函数名为QryGoods)。设计得SQL语句如下:
use SPDG
go
ifexists(select namefromsysobjects
where type='FN'and name='QryGoods')
drop function QryGoods
go
create function QryGoods
(bh char(9))
returnschar(20)
as
begin
declare name char(20)
select name=(
select 商品名称
from SPB a
wherea、商品编号=bh)
returnname
end
declare bh2 char(9)
setbh2='10010001'
declarename2 char(20)
selectname2=dbo、QryGoods(bh2);
printname2
执行结果:
5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。
设计得SQL语句如下:
useSPDG
ifexists(selectname from sysobjects
where name='GetSPBH'andtype='p')
dropprocedure GetSPBH
go
create procedure GetSPBH
as
select 商品编号
from SPB