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

  • 格式:doc
  • 大小:250.50 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验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