数据库专题训练实验-------存储过程

本文详细介绍了在Sqlserver2005环境下如何创建和使用存储过程,包括创建无参数、有参数的存储过程,执行、查看、修改和删除存储过程的方法。通过实例展示了如何查询特定系学生信息、按学生姓名获取成绩、获取课程最高分、计算学生平均分以及教师平均分等操作。
摘要由CSDN通过智能技术生成

【实验目的】

  1. 掌握存储过程的创建方法。
  2. 掌握存储过程的使用方法。

【实验环境】

Sql server 2005

【实验重点及难点】

  1. 创建无参数的存储过程。
  2. 创建有参数的存储过程。
  3. 执行存储过程的方法。
  4. 查看存储过程的方法。
  5. 修改存储过程的方法。
  6. 删除存储过程的方法。

【实验内容】

设定已有一个名为XSCJ的数据库,在XSCJ数据库中创建如下关系表:学生信息表S,课程表C,成绩表SC

学生基本信息表S:

Sno

Sname

Ssex

Sage

Sdept

S1

李强

19

计算机

S2

王松

20

通信工程

S3

李丽

18

电子

S4

张平

21

计算机

S5

何晴

19

通信工程

S6

王小可

20

计算机

S7

张欢

20

电子

课程信息表C:                                          学生成绩表SC:

Sno

Cno

Score

S1

C2

85

S2

C3

72

S3

C4

90

S4

C1

84

S5

C2

58

S6

C3

88

S3

C1

69

S1

C5

88

S1

C3

95

  Cno       

Cname

Cteacher

C1

C语言

刘军

C2

C++程序设计

李彤

C3

操作系统

吴明

C4

数据库

李白

C5

计算机网络

苏志朋

C6

数据结构

刘军

1、创建一个名为sp_cxxs的存储过程,要求该存储过程列出计算机系所有学生的姓名。

Create procedure dbo.sp_cxxs AS

Select sname from s where sdept=’计算机

go

2、创建一个名为sp_cxcj的存储过程,要求该存储过程带一个输入参数,用于接收学生姓名。执行该存储过程时,将根据输入的学生姓名列出该生的所修课程名称和分数。

Create procedure dbo.sp_cxcj

(@p_studentname varchar(50))

AS

Select c.cname,sc.score from s,c,sc where s.sno=sc.sno and sc.cno=c.cno and s.sname=@p_studentname

go

3、创建一个名为sp_cxzgf的存储过程,要求该存储过程带一个输出参数,用于返回”C语言课程的最高分。

Create procedure dbo.sp_cxzgf

(@p_courseMax int output)

AS

Select @p_courseMax=max(score) from c, sc where c.cno=sc.cno and c.cname=’C语言

go

4、创建一个名为sp_cxscore的存储过程,要求该存储过程带一个输入参数和一个输出参数,输入参数用于接收学生姓名,输出参数用于返回该生的各科平均分。

Create procedure dbo.sp_cxscore

(@p_sname varchar(50), @p_scoreAvg float output)

AS

Select @p_scoreAvg=avg(score) from s, sc where s.sno=sc.sno and s.sname=@p_sname

go

5、执行题4所创建的存储过程,并打印输出参数的返回值。输入参数为‘李强’。

 

Declare @stuScoreAvg float

Declare @stuName varchar(50)

Set @stuName=’李强

Exec sp_cxscore @stuName, @stuScoreAvg output

Print ‘学生 ’ + @stuName + ‘的平均分为: + @stuScoreAvgs

go

6、使用系统表查看XSCJ数据库中名为sp_cxxs的存储过程的定义信息

 

select text from scdb.dbo.syscomments where id in

(select id from scdb.dbo.sysobjects where name='myrpoc' and type='P')

go

7、修改题4所创建的存储过程,要求新的存储过程带一个输入参数和一个输出参数,输入参数用于接收教师姓名,输出参数用于返回该教师所教课程的平均分。

Alter procedure dbo.sp_cxscore

(@p_tname varchar(50), @p_allAvg float output)

AS

Select @p_allAvg=avg(score) from c, sc where c.cno=sc.cno and c.cteacher=@p_tname

Go

8、删除题7所给出存储过程。

If exists(sleect name from scdb.dbo.sysobjects where name=’ sp_cxscore’ and type=’P’)

   Drop procedure sp_cxscore

GO

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
一、实验目的 1.掌握SQL Server 2005的安装。 2.掌握SQL Server Management Studio的启动和使用。 3.掌握SQL Server 2005服务器的配置和注册。 4.掌握SQL Server 2005查询的基本使用。 5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL语句创建数据库的方法。 9.掌握应用Transact-SQL修改和查看数据库的方法。 10.掌握通过Transact-SQL删除数据库的方法。 11.掌握SQL Server 2005数据库和操作系统物理文件的关系。 12.掌握数据库的分离和附加方法。 二、实验内容 1.完成SQL Server 2005开发版的安装。 提示:若计算机系统中已经安装有SQL Server 2005系统,则在安装时需要选择安装命名实例。安装过程中身份验证模式选择“混合模式”并设置sa账户的密码。 2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP协议。 4.利用SQL Server外围配置器配置数据库引擎的服务及远程连接,设置为“本地连接和远程连接”,选择“同时使用TCP/IP和named pipes”。 5.利用SQL Server Management Studio注册安装的命名实例。 6.利用SQL Server Management Studio注册远程服务器。 提示:注册远程服务器时需要使用混合验证模式,利用sa账户和密码登录远程服务器。 7.启动SQL Server Management Studio,连接到服务器。新建一个查询,在其中输入如下代码: DECLARE @position int, @string char(5) SET @position = 1 SET @string = 'China' WHILE @position <= DATALENGTH(@string) BEGIN SELECT SUBSTRING(@string, @position, 1) 字符, ASCII(SUBSTRING(@string, @position, 1)) ASCII码 SET @position = @position + 1 END
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程图一乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值