数据库实验六 存储过程

1 利用系统存储过程列出当前SQL Server实例中的所有数据库。

2 创建存储过程,查询学生基本信息。

3 创建存储过程,查询特定同学的平均成绩。

4 创建存储过程,查询特定课程的平均成绩。

5 修改内容4的存储过程,实现存储过程可以计算及格率,对输出的及格率进行判断,给出相应的评价信息(当及格率小于0.3时,打印“题目过难”;及格率高于0.7时,打印“题目过易”;其它情况,打印“题目难度适中”)。

--1、利用系统存储过程列出当前SQL Server实例中的所有数据库。
SELECT Name FROM Master..SysDatabases 
ORDER BY Name

--2、创建存储过程,查询学生基本信息。
GO
CREATE PROCEDURE TEST1 @sno nvarchar(8)
AS
SELECT *
FROM Student
WHERE sno = @sno
EXECUTE TEST1'1004'

--3、创建存储过程,查询特定同学的平均成绩。
GO
CREATE PROCEDURE AVG_GRADE @sno nvarchar(8)
AS
SELECT AVG(grade)
FROM SC
GROUP BY sno
HAVING sno = @sno

--4、创建存储过程,查询特定课程的平均成绩。
GO
CREATE PROCEDURE AVG_C @cno nvarchar(10)
AS
SELECT AVG(grade)
FROM SC
GROUP BY cno
HAVING cno = @cno

--5、修改内容4的存储过程,实现存储过程可以计算及格率,对输出的及格率进行判断,给出相应的评价信息
  --(当及格率小于0.3时,打印“题目过难”;及格率高于0.7时,打印“题目过易”;其它情况,打印“题目难度适中”)。
GO
ALTER PROCEDURE AVG_C @cno nvarchar(10)
AS
DECLARE @geshu int
SELECT @geshu = COUNT(*) FROM SC WHERE @cno = cno AND grade >=60
DECLARE @ge int
SELECT @ge = COUNT(*) FROM SC WHERE @cno = cno
IF @ge > 0
BEGIN
IF @geshu/@ge < 0.3
PRINT '题目过难'
IF @geshu/@ge > 0.7
PRINT '题目过难'
ELSE
PRINT '题目难度适中'
END
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、实验目的 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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xxxandwww

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

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

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

打赏作者

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

抵扣说明:

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

余额充值