SQL实验7:使用存储过程.doc
文本预览下载声明
大学学生实验报告书
实验名称 实验七:使用存储过程 课程名称 数据库原理与设计 成绩 学院(系) 软件学院 专业 计算机软件工程 班级 学生姓名 学号 实验地点 实验日期
实验目的:
掌握存储过程的使用方法
实验内容
按要求完成给出的下列题目,要求写出相应数据库的脚本语句。(要求写出存储过程的创建和执行语句。)
创建一个存储过程,能够显示要求礼物包装(Orderdetail表)的订单的号码和附言。执行相应的存储过程。
CREATE PROCEDURE proc1
AS
BEGIN
select cOrderNo,vMessage
from Orderdetail
END
exec proc1
创建一个存储过程,接收国家的ID和名称,并将其插入到Country表中。执行该过程。
CREATE PROCEDURE proc3 (@x char(3)=050,@y char(25)=aa)
AS
BEGIN
insert into country values (@x,@y)
END
exec proc3
创建一个存储过程,接收国家的ID,在Shopper表,Recipient表和ShippingRate表中查找该国家是否被参照引用,如果该国家值没有被引用,则删除相应的国家记录。执行该过程。
CREATE PROCEDURE proc4 (@z char(3))
AS
begin
if (not exists (select * from Shopper where Shopper.cCountryId=@z)
or not exists (select * from Recipient where Recipient.cCountryId=@z)
or not exists (select *from ShippingRate where ShippingRate.cCountryId=@z))
delete from Country where Country.cCountryId=@z
End
exec proc4 050
创建一个存储过程,该存储过程接收玩具的ID,显示相应的玩具的名称和价格。执行过程。
CREATE PROCEDURE proc5 (@a char(6))
AS
BEGIN
select vToyName,mToyRate
from Toys
where cToyId =@a
END
exec proc5 000001
创建一个存储过程,能够根据提供的订单号码显示相应的订单信息,如果没有提供订单号码,则打印消息‘No Order No’。执行该过程。
CREATE PROC proc6 (@b char(6))
AS
BEGIN
IF EXISTS(SELECT * FROM Orders WHERE cOrderNo=@b) BEGIN
SELECT *
FROM Orders WHERE cOrderNo=@b
END
ELSE
BEGIN
PRINT No Order No
END
END
exec proc6 000000
exec proc6 000002
创建存储过程,接收姓和名,在SHOPPER表中查找相应的订购者详细信息。
CREATE PROC proc7 (@c char(20),@d char(20) )
AS
BEGIN
select *
from dbo.Shopper
where vFirstName=@c and vLastName=@d
END
exec proc7 betty,williams
创建存储过程,对于接收的订单号,如果该订单订购的总花费在60元以上,则打印消息并返回值0,否则打印相应消息并返回值1。
create PROC proc8 (@e char(6))
AS
BEGIN
IF (SELECT mTotalCost FROM Orders WHERE cOrderNo=@e )60 BEGIN
SELECT *
FROM Orders WHERE cOrderNo=@e
RETURN 0
END
ELSE
BEGIN
PRINT No more than 60
RETURN 1
END
END
exec proc8 000002
exec proc8 000007
创建存储过程,能够接收玩具ID,并按下列格式打印出该玩具的名称,描述和价格,并列出订购了该玩具的订单的详细信息,写出相应的所有存储过程。如下所示:
The
显示全部