T-SQL编程(存储过程)

      存储过程是SQL语句和控制流语句的预编译集合,可以有一个程序通过一个调用执行,允许声明变量,逻辑控制流语句以及其它强大的编程功能

系统存储过程存储在Master数据库中

      sp_databases               列出服务器上的所有数据库

      sp_helpdb                      报告有关指定数据库或所有数据库的信息

     sp_renamedb 'jobs'  ,  ' jobs1'           更改数据库名称(单用户访问)

     sp_tables                       当掐数据库中可查询对象的列表

     sp_columns   jobs                查看表Jobs中列的信息

     sp_helpconstraint   jobs     查看表jobs中的约束

     sp_helpindex   jobs              查看表jobs中的索引

     sp_helptext  'view_stu'         查看视图view_stu中的语句文本

     sp_stored_procedures       返回当前数据库中的存储过程列表

问题:使用存储过程查询本版平均分并且查询本次考试没有通过的学员

if exists (select * from sysobjects where name = 'proc_stu')



drop proc proc_stu



go



create proc proc_stu

	as

   		declare @writtenAvg float ,@labAvg float

		



		select @writtenAvg=avg(convert(int, writtenExam)) ,@labAvg=avg(convert(int, LabExam)) from stuMarks 



	print '笔试平均分' + convert(varchar(5),@writtenAvg)

	print '机试平均分' + convert(varchar(5),@labAvg)



	if(@writtenAvg>70 and @labAvg>70)

		print '本班成绩优秀'

	else

		print '本班成绩较差'



print '=================================================================================='

	print '参加本次考试没有通过的学员'

		select stuinfo.stuName,stuinfo.stuNo ,stuMarks.writtenExam,stuMarks.LabExam

		from stuinfo inner join  stuMarks

		on stuMarks.stuNo=stuinfo.stuNo

		where writtenExam<60 or LabExam<60

exec proc_stu
 
 
笔试平均分79
机试平均分76
本班成绩优秀
==================================================================================
参加本次考试没有通过的学员
stuName    stuNo      writtenExam LabExam    
---------- ---------- ----------- ---------- 
李斯文        s25303     90          58
(所影响的行数为 1 行)


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值