SqlServer2012实例之存储过程

--1、调用帮助系统来查找系统存储过程或函数来显示SQL Server的版本号及当前系统时间。(提示:到帮助中根据关键字等查询到对应的函数或存储过程来完成任务)代码截图和运行结果截图如下。

--3、将Course表上增加一个字段seleNUM,并编写存储过程:传入学号s_id和课程号--course_id后,完成在S_C表中插入相应的选课记录,并在Course表中对应课程的--seleNUM加1。调用该存储过程,

--测试执行结果。代码截图和运行结果截图如下

--4、创建一个存储过程,参数是学号s_id,输出信息是指定学号多对应的姓名、课程名称、成绩。

--运行时若没有指定学号,则提示“请输入学号”,若学号不存在,则提示“学号不存在”。

--5、创建一个存储过程Pro_Accum,利用while循环实现计算从1到输入参数n间各整数的累加计算功能,

--计算结果存入输出参数sum。并通过T-SQL调用定义的存储过程,计算1+2+…+100的累加和,并输出。

--1、调用帮助系统来查找系统存储过程或函数来显示SQL Server的版本号及当前系统时间。(提示:到帮助中根据关键字等查询到对应的函数或存储过程来完成任务)代码截图和运行结果截图如下。
select @@VERSION '版本号' ,GETDATE() '系统时间'
--2、创建一个存储过程,要求查询每位学生所选课程的平均成绩、最高成绩。调用该存储过程,
--测试执行结果。代码截图和运行结果截图如下。
create procedure PD1_selectresult
as
begin
	select s_id 学号,avg(result) 平均成绩,max(result) 最高成绩
	from s_c 
	group by s_id,course_id
end

exec PD1_selectresult
--3、将Course表上增加一个字段seleNUM,并编写存储过程:传入学号s_id和课程号--course_id后,完成在S_C表中插入相应的选课记录,并在Course表中对应课程的--seleNUM加1。调用该存储过程,
--测试执行结果。代码截图和运行结果截图如下
alter table course
add seleNUM int

select * from course

update course
set seleNUM =(select count(s_id)
	from s_c
	where s_c.course_id=course.course_id)

select * from course

create procedure PD2_course_record
@s_id char(10),
@course_id char(10)
as
begin
	insert into s_c (s_id,course_id)
	values(@s_id,@course_id)
	update course
	set seleNUM =seleNUM +1
	where course_id=@course_id
end

select * from s_c
exec PD2_course_record '2016010101','0007'
select * from s_c
select * from course
--4、创建一个存储过程,参数是学号s_id,输出信息是指定学号多对应的姓名、课程名称、成绩。
--运行时若没有指定学号,则提示“请输入学号”,若学号不存在,则提示“学号不存在”。
create procedure PD2_print_result
@s_id char(10)=null
as
begin
	if @s_id is NULL
		print '请输入学号'
	else
		begin 
			if exists(select s_id from s_c where s_id = @s_id )
			begin
				select student.s_id '学号', s_name '姓名',course.course_id '课程名称',result '成绩'
				from student,course,s_c
				where student.s_id =s_c.s_id  and s_c.course_id =course.course_id and student.s_id =@s_id 
			end
			else
				print'学号不存在'
		end
end

exec PD2_print_result
exec PD2_print_result '2016010101'
exec PD2_print_result '2016010109'
--5、创建一个存储过程Pro_Accum,利用while循环实现计算从1到输入参数n间各整数的累加计算功能,
--计算结果存入输出参数sum。并通过T-SQL调用定义的存储过程,计算1+2+…+100的累加和,并输出。
create procedure Pro_Accum
@n int
as
begin
	declare @sum int 
	declare @i int 
	set @sum=0
	set @i=1
	while(@i<=@n)
	begin
		set @sum = @sum+@i
		set @i=@i+1
	end 
	print @sum
end 

exec Pro_Accum '100'

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值