- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与应用实验12_.
实验十二 存储过程与函数
姓名: 计算机科学与技术 学号: 专业: 班级: 同组人: 无 实验日期:
【实验目的与要求】
熟练掌握存储过程的编写。
熟练掌握函数的编写与使用。
【实验内容与步骤】
基础知识
存储过程(Stored Procedure)和函数是一组编译好存储在服务器上的完成特定功能T-SQL代码,是某数据库的对象。客户端应用程序可以通过指定存储过程或函数的名字并给出参数(如果该存储过程带有参数)来执行存储过程。
创建用户存储过程
1. 使用存储过程模板创建存储过程
在【对象资源管理器】窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,再展开选择“可编程性”节点,右击“存储过程”,选择“新建存储过程”命令,如图所示:
在右侧查询编辑器中出现存储过程的模板,可以在此基础上编辑存储过程,单击“执行”按钮,即可创建该存储过程。
实验14-1:创建一个简单的存储过程,实现从CP表中读取Mp3产品相关信息
USE CPXS
GO
CREATE PROCEDURE get_mp3 --此为无参存储过程
AS
SELECT 产品编号,产品名称,价格,库存量
FROM CP
WHERE产品名称=mp3
实验14-2:执行存储过程
执行存储过程可用下列方法之一:
(1)使用存储过程名字如:get_mp3
(2) 使用Exec命令:如:EXEC get_mp3
执行上面创建的存储过程,并给出执行结果:
2. 使用T-SQL语句创建存储过程
在查询分析器里使用T-SQL可直接创建存储过程
格式:
CREATE PROC 过程名
@形参名 类型
@变参名 类型 OUTPUT
AS
SQL语句
实验14-3:创建一个多表查询的存储过程。
问题:查询在2009年9月18日有销售的产品名称
(1)请给出相应的代码
CREATE procedure G_product
AS
SELECT 产品名称
FROM CP,cpxsb
WHERE CPXSB.产品编号=CP.产品编号and 销售日期=2009-9-18 0:00:00;
(2)执行存储过程,并给出执行结果:
存储过程的参数
1. 输入参数(值参)
实验14-4:输入参数为某产品的名字。
USE CPXS
GO
CREATE PROCEDURE P_CPXS2
@Product_name char(30) --形式参数
As
SELECT 产品编号,产品名称,价格,库存量
FROM CP
WHERE 产品名称= @ Product_name
GO
执行存储过程:
(1)直接传值:
EXEC P_CPXS2 冰箱 --实参表
请给出执行结果:
(2)变量传值:
DECLARE @temp char(30)
SET @temp=洗衣机
EXEC P_CPXS2 @temp --实参表
请给出执行结果:
实验14-5:使用默认参数
阅读以下程序段,理解参数传递过程
USE CPXS
GO
CREATE PROCEDURE P_CPXS3
@name varchar(10)=NULL --默认参数
AS
IF @name IS NULL
SELECT 产品编号,产品名称,价格,库存量
FROM CP
ELSE
SELECT 产品编号,产品名称,价格,库存量
FROM CP
WHERE 产品名称=@name
GO
执行存储过程:
(1) 不带参数时
EXEC P_CPXS3
请给出执行结果:
(2)带参数时
EXEC P_CPXS3 ‘彩色电视机’
请给出执行结果:
2. 输出参数(变参)
实验14-6:利用输出参数计算阶乘。
USE CPXS
–判断系统中是否有名为factorial的存储过程,若有,则删除之
IF EXISTS(SELECT name FROM sysobjects
WHERE name=factorial AND type=P)
DROP PROCEDURE factorial
GO --前面这段仅是准备工作,真正的工作在之后
CREATE PROCEDURE factorial --创建存储过程
@in float, --输入形式参数
@out float OUTPUT --输出形式参数
AS
DECLARE @i int
DECLARE @s float
SET @i=1
SET @s=1
WHILE @i=@in
BEGIN
SET @s=@s*@i
SET @i=@i+1
E
您可能关注的文档
最近下载
- 艾梅乙医学ppt课件.pptx VIP
- 海姆立克急救法(完美版)课件.pptx VIP
- 锂离子电池不良失效分析系列压差大.pptx VIP
- 《童年》阅读评测试题(附答案).pdf VIP
- 英语常用词根词缀表(排版整齐).pdf VIP
- 【小升初】2024-2025学年四川省成都市下学期新七年级分班真题数学试题(含答案).docx VIP
- TD∕T 1087-2023 主体功能区优化完善技术指南.pdf
- 优秀备课组评选方案.docx VIP
- 稳定币发展十年:趋势、应用与前景.docx VIP
- 四川省成都市成都石室联合中学2024-2025学年上学期七年级分班(奖学金)模拟数学试题(含答案).pdf VIP
文档评论(0)