码迷,mamicode.com
首页 > 数据库 > 详细

sqlserevr 函数笔记

时间:2016-05-25 00:08:47      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

1)创建标量函数,计算指定课程号的课程的平均成绩,然后调用该函数查询某门课的平均成绩。
create function my_avg(@cno char(6))
returns real
as
begin
	declare @par real
	select @par=AVG(degree)
	from score
	where cno=@cno
	return @par
end
go
print dbo.my_avg(‘3-105‘)
go
2)创建内联表值函数(返回可更新表),查询指定学号的学生的选课情况(包括学号、姓名、课程号和成绩),然后调用该函数查询某位学生的选课情况,再调用该函数将该生某门课的成绩改为100,重新查询该生成绩检查一下改过来了吗。
create function my_info(@sno char(5))
returns table
as
return 
(
	select student.sno,sname,cno,degree
	from student,score
	where score.sno=@sno
		and student.sno=@sno
)
go
select * from my_info(‘101‘)

update my_info(‘101‘) set degree=90 where cno=‘3-105‘
go	
3)创建多语句表值函数(返回不可更新表),查询指定课程号的学生的选课情况(包括学号、姓名和成绩),并将选了该课的学生成绩提高5分,然后调用该函数查询某门课的学生的选课及成绩修改情况。(之前先查询一下该课的成绩以便与调用函数后的成绩作对比。)

create function my_info2(@cno char(6))
returns @st table
(sno char(5), sname char(8),
	cno char(6), degree real )
as
begin
	insert @st
	select student.sno,sname,cno,degree+5
	from student,score
	where score.cno=@cno
		and student.sno=score.sno
	return
end
go
drop function my_info2
select * from my_info2(‘3-105‘)
--update my_info2(‘3-105‘) set degree=90

  

sqlserevr 函数笔记

标签:

原文地址:http://www.cnblogs.com/yang95/p/5525243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!