实验四约束和存储过程文档格式.docx

上传人:b****6 文档编号:20520660 上传时间:2023-01-23 格式:DOCX 页数:11 大小:215.99KB
下载 相关 举报
实验四约束和存储过程文档格式.docx_第1页
第1页 / 共11页
实验四约束和存储过程文档格式.docx_第2页
第2页 / 共11页
实验四约束和存储过程文档格式.docx_第3页
第3页 / 共11页
实验四约束和存储过程文档格式.docx_第4页
第4页 / 共11页
实验四约束和存储过程文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

实验四约束和存储过程文档格式.docx

《实验四约束和存储过程文档格式.docx》由会员分享,可在线阅读,更多相关《实验四约束和存储过程文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

实验四约束和存储过程文档格式.docx

购买数量必须在到0之间30;

(2)设置商品表Goods的“商品名字段不能为空”。

(3)设置客户表Customer的“号不能重复”。

(4)设置客户表Customer的“客户的住址只能是海淀、和东城。

(5)设置Orders的下单日期默认值为当前日期。

(5)设置OrderGoods与Customer、Goods之间的参照完整性约束的删除和更新的方式为级联删除和级联更新。

(6)在该数据库中创建一个存储过程GetTotalPrice,实现根据客户名,查找该客户的订单总额。

(本题为选作。

提示:

该题中涉及到游标的知识,我们将结合触发器介绍游标,有余力的同学可以先自行查阅资料)

2、在学生成绩数据库中,根据要求创建存储过程。

(1)创建名为PrSno的存储过程,根据学生学号,查询该生的选课情况,其中包括学生学号、、性别、课程号、课程名和成绩。

执行该存储过程,查询学号为“99001”的选课学生情况。

(2)创建存储过程PrCourseName。

根据课程名,查询课程名和该课程的平均成绩。

如果执行时,没有带参数,则显示以“数据”开头的课程信息。

(3)创建名为PrSno2的存储过程,查询某同学所有课程成绩。

如果存在不及格课程,则将该门课程的成绩修改为60分;

否则显示所有课程成绩。

(4)创建名为PrSno3的存储过程。

参数是学号,输出信息是指定学号的选课门数、平均分、最高分、最低分。

并执行该存储过程,输出学号为‘99001’的相关信息。

3、已知用户表(用户名,用户密码)。

请创建该表,并编写一个实现用户注册的存储过程。

当用户名不存在时,注册成功,存储过程返回0;

当用户名已存在,注册失败,存储过程返回1。

二、实验环境

1.Windows7+SQL

三、调试过程

四、实验结果

五、总结

通过此次实验:

1.本人熟悉了check,unique,default等约束的使用;

2.了解了ondeletecascade级联删除和onupdatecascade级联更新

3.知道创建存储过程的基本结构和语法

4.在实验过程中部分细节的调试也使我对代码的把握及语义的实现有了更深的认识

六、附录

--客户表Customer

createtableCustomer

CustomerIDintprimarykey,--主键

Cnamevarchar(20)notnull,--客户的不能为null

Addressvarchar(50)check(Address='

海淀'

orAddress='

'

东城'

),--客户的住址只能是海淀、和东城

Emailvarchar(50)check(Emaillike'

%%.%'

),--电子中必须唯一,且必须包含和.

Genderchar

(2)check(Gender='

男'

orGender='

女'

)default'

--客户的性别必须是男或者女,默认为男

CardIDintunique,--号不能重复

TelCodeint

--商品表Goods

createtableGoods

GoodsIDintprimarykey,--商品号,主键

GoodsNamevarchar(20)notnull,--商品名字段不能为空

UnitPricemoneycheck(UnitPrice>

0),--商品单价必须大于

Categoryvarchar(20)--商品类别

--订单表Orders

createtableOrders

OrderIDintprimarykey,--订单号,主键

CustomerIDintforeignkeyreferencesCustomer(CustomerID)ondeletecascadeonupdatecascade,--客户号,外键,级联删除和级联更新

OrderTimedatetimedefaultgetdate()--下单日期默认值为当前日期

--订单商品表OrderGoods:

createtableOrderGoods

OrderIDint,

GoodsIDint,

GoodsQuantityintcheck(GoodsQuantity>

=0andGoodsQuantity<

=30)--购买数量必须在到之间

primarykey(OrderID,GoodsID),--联合主键

--设置OrderGoods与Customer、Goods之间的参照完整性约束的删除和更新的方式为级联删除和级联更新。

foreignkey(OrderID)referencesOrders(OrderID)ondeletecascadeonupdatecascade,

foreignkey(GoodsID)referencesGoods(GoodsID)ondeletecascadeonupdatecascade

/*

--在该数据库中创建一个存储过程GetTotalPrice,实现根据客户名,查找该客户的订单总额。

/*创建存储过程*/

createprocedureGetTotalPrice

cnamevarchar(20)

as

begin

selectCustomer.CustomerID'

客户号'

UnitPrice'

单价'

GoodsQuantity'

数量'

totalPrice=UnitPrice*GoodsQuantity'

总额'

fromCustomer,Orders,OrderGoods

whereCustomer.CustomerID=Orders.CustomerIDandOrderGoods.OrderID=Orders.OrderID

andCname=cname

end

/*执行存储过程*/

execGetTotalPrice

*/

--

(1)

createprocedurePrSno

snochar(8)

selects.sno,sname,ssex,o,cname,grade

fromstudents,coursec,sc

wheres.sno=snoando=oands.sno=sc.sno

end

execPrSno'

95006'

--

(2)

createprocedurePrCourseName

cnamevarchar(20)='

数据%'

--执行时,没有带参数,则显示以“数据”开头的课程信息

selectcname,avg(grade)'

平均成绩'

fromcoursec,sc

wherecnamelikecnameando=o

groupby(cname)

execPrCourseName

execPrCourseName'

数学'

--(3)

createprocedurePrSno2

updatesc

setgrade=60

wheregrade<

60

selectsno,cno,grade

fromsc

wheresc.sno=sno

execPrSno2'

95003'

--(4)

createprocedurePrSno3

selectsno,count(*)'

选课门数'

avg(grade)'

平均分'

max(grade)'

最高分'

min(grade)'

最低分'

wheresno=sno

groupbysno

execPrSno3'

95011'

createtableUserLogin

userNamevarchar(20)notnull,

userPwdchar(8)notnull

insertintoUserLogin

values('

JOJO_Chen'

'

20121107'

createprocedureregister_Login

login_Namevarchar(20),

login_Pwdchar(8),

flagtinyintoutput

declareloginNamevarchar(20)

selectloginName=userName

fromUserLogin

whereuserName=login_Name

if(loginNameisNULL)

begin

setflag=0

return

end

else

setflag=1

declareUserLogintinyint

execregister_Login'

UserLoginoutput

selectUserLogin

JOJO'

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1