常用语句(六)print、beign ... end、procedure、declare、@、exec

本文档通过SQL语句展示了如何处理学生的成绩数据,包括条件判断、平均分计算、成绩提升逻辑及存储过程的创建与使用。示例中包含了成绩的插入、选择最低分、更新分数等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
*/
if(select MIN(grade) from score where sno=20130204)>75
	print '良好'
else if(select MIN(grade) from score where sno=20130204)>60
	print '及格'
else
	print '不及格'
select MIN(grade) from score where sno=20130204
go
/*
*/
create table testScore(scno int not null identity(1,1) primary key,mark int check(mark between 0 and 100))
go
truncate table testScore
go
insert into testScore(mark) values (64);
insert into testScore(mark) values (57);
insert into testScore(mark) values (52);
insert into testScore(mark) values (72);
insert into testScore(mark) values (47);
select avg(mark) from testScore
go
select * from testScore
go
while(select avg(mark) from testScore)<80
begin
	update testScore set mark=mark*1.05
	if(select min(mark) from testScore)>60
		break
end
select * from testScore
go
/*
*/
select MIN(grade) from score where sno='20130206'
go
/*
*/
declare @zuixiaofen int
select @zuixiaofen=MIN(grade) from score where sno='20130206'
print @zuixiaofen
if @zuixiaofen>60
	print '及格'
else
	print '不及格'
/*
*/
create procedure usp_show_student as select * from student where age>21
go
exec usp_show_student
drop procedure usp_show_student
go
/*
*/
--定义存储过程包括输入参数和输出参数
if exists(select * from sysobjects where name='usp_s1')
	drop procedure usp_s1
go
/*create procedure usp_s1 @myscore int as select sno from score where grade<@myscore
go
exec usp_s1 60*/
create procedure usp_s1 @myscore int,@mymax int output as select sno from score where grade<@myscore select @mymax=MAX(grade) from score
go
declare @mymax int
--执行存储过程,必须声明输出参数
exec usp_s1 60,@mymax output
print @mymax
/*
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值