数据库原理与应用实验12数据库原理与应用实验12_.doc

数据库原理与应用实验12数据库原理与应用实验12_.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理与应用实验12数据库原理与应用实验12_

PAGE  第  PAGE 29 页 共  NUMPAGES 29 页 厦门理工学院实验报告           实验十二 存储过程与函数 姓名:计算机科学与技术学号:专业:班级:同组人:无实验日期: 【实验目的与要求】 熟练掌握存储过程的编写。 熟练掌握函数的编写与使用。 【实验内容与步骤】 基础知识 存储过程(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

您可能关注的文档

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档